XmlFormControl.XmlForm.DataSources[""].CreateNavigator();
However I can't help wondering if there is a better way? Loading a web
control to do this only to get the data out and throw the control away seems
like an indirect root.
myListItem = workflowProperties.Item
myFormStream = myListItem.File.OpenBinaryStream
myXMLFormDocument = New XmlDocument
myXMLFormDocument.PreserveWhitespace = True
myXMLFormDocument.Load(myFormStream)
this is what the WrkTaskIPPage class does...
string workflowData = SPWorkflowTask.GetWorkflowData(this.m_task);
if (!string.IsNullOrEmpty(workflowData) &&
(IPPage.FindDataObject(this.XmlFormControl.XmlForm.DataSources,
"ItemMetadata") != null))
{
IPPage.PopulateDataObject(this.XmlFormControl.XmlForm.DataSources["ItemMetadata"], workflowData);
}
After the XmlFormControl is bound and goes thru it's lifecycle, the
recognizable xml data is the available thru...
XmlFormControl.XmlForm.DataSources[""].CreateNavigator();
However, in order to get this data, I'm wrapping the XmlFormView control in
a web service and overriding the render method which is less than ideal.