I have a XML file:
Code:
<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:updatable='true'>
<s:AttributeType name='PLATE_PK' rs:number='1' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='0' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='BARCODE_ID' rs:number='2' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='20' rs:precision='0'/>
</s:AttributeType>
<s:AttributeType name='INSPECT_NUMBER' rs:number='3' rs:nullable='true' rs:maydefer='true' rs:write='true'
rs:writeunknown='true'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='0' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='PLATE_STATUS' rs:number='4' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='20' rs:precision='0'/>
</s:AttributeType>
<s:AttributeType name='INSPECT_DATE' rs:number='5' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='dateTime' rs:dbtype='variantdate' dt:maxLength='16' rs:precision='0' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='DIR_PATH' rs:number='6' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='200' rs:precision='0'/>
</s:AttributeType>
<s:AttributeType name='PLATE_IMAGE' rs:number='7' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='25' rs:precision='0'/>
</s:AttributeType>
<s:AttributeType name='TYPE_ID' rs:number='8' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='2' rs:precision='0'/>
</s:AttributeType>
<s:AttributeType name='MAX_SCORE' rs:number='9' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='i2' dt:maxLength='2' rs:precision='0' rs:fixedlength='true'/>
</s:AttributeType>
<s:AttributeType name='USER_NAME' rs:number='10' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='60' rs:precision='0'/>
</s:AttributeType>
<s:AttributeType name='PROPERTIES' rs:number='11' rs:nullable='true' rs:maydefer='true' rs:write='true' rs:writeunknown='true'>
<s:datatype dt:type='string' dt:maxLength='255' rs:precision='0'/>
</s:AttributeType>
<s:AttributeType name='source_key' rs:number='12' rs:write='true'>
<s:datatype dt:type='int' dt:maxLength='4' rs:precision='0' rs:fixedlength='true' rs:maybenull='false'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row BARCODE_ID='IB-APY0SQ' INSPECT_NUMBER='4' PLATE_STATUS='Completed' INSPECT_DATE='2006-03-06T23:48:43'
DIR_PATH='\\sgc-web\Pub\Images\IB-APY0SQ\' PLATE_IMAGE='Thmb_IB-APY0SQ' TYPE_ID='IB' MAX_SCORE='-1' USER_NAME='OPERATOR'
source_key='0'/>
<z:row BARCODE_ID='IB-APY0SQ' INSPECT_NUMBER='3' PLATE_STATUS='Completed' INSPECT_DATE='2006-03-01T01:30:09'
DIR_PATH='\\sgc-web\Pub\Images\IB-APY0SQ\' PLATE_IMAGE='Thmb_IB-APY0SQ' TYPE_ID='IB' MAX_SCORE='-1' USER_NAME='OPERATOR'
source_key='0'/>
<z:row BARCODE_ID='IB-APY0SQ' INSPECT_NUMBER='2' PLATE_STATUS='Completed' INSPECT_DATE='2006-02-24T13:46:31'
DIR_PATH='\\sgc-web\Pub\Images\IB-APY0SQ\' PLATE_IMAGE='Thmb_IB-APY0SQ' TYPE_ID='IB' MAX_SCORE='-1' USER_NAME='OPERATOR'
source_key='0'/>
<z:row BARCODE_ID='IB-APY0SQ' INSPECT_NUMBER='1' PLATE_STATUS='Completed' INSPECT_DATE='2006-02-20T10:49:44'
DIR_PATH='\\sgc-web\Pub\Images\IB-APY0SQ\' PLATE_IMAGE='Thmb_IB-APY0SQ' TYPE_ID='IB' MAX_SCORE='-1' USER_NAME='OPERATOR'
source_key='0'/>
</rs:data>
</xml>
When I use
Code:
XPathNodeIterator nodes = navigator.Select("//rs:data/z:row");
in C# to obtain the rows, in debugging mode the following error showed up:
Code:
Namespace Manager or XsltContext needed. This query has a prefix, variable, or user-defined function.
How should I modify my program so these can be obtained using XPath?
This is my code:
Code:
static void ReadXML(String filename)
{
XPathDocument document = new XPathDocument(filename);
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("//rs:data/z:row");
while (nodes.MoveNext()) {
Console.WriteLine(nodes.Current.Name);
}
}
Thanks!