<GetDataSetResult>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="MyTable">
<xs:complexType>
<xs:sequence>
<xs:element name="myColumn" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<MyTable diffgr:id="MyTable1" msdata:rowOrder="0">
<myColumn>Ahmet</myColumn>
</MyTable>
<MyTable diffgr:id="MyTable2" msdata:rowOrder="1">
<myColumn>Ali</myColumn>
</MyTable>
<MyTable diffgr:id="MyTable3" msdata:rowOrder="2">
<myColumn>Veli</myColumn>
</MyTable>
<MyTable diffgr:id="MyTable4" msdata:rowOrder="3">
<myColumn>Osman</myColumn>
</MyTable>
<MyTable diffgr:id="MyTable5" msdata:rowOrder="4">
<myColumn>Mahmut</myColumn>
</MyTable>
<MyTable diffgr:id="MyTable6" msdata:rowOrder="5">
<myColumn>Memed</myColumn>
</MyTable>
</NewDataSet>
</diffgr:diffgram>
</GetDataSetResult>
在上面的xml中,如何选择属性为xs:element
的{{1}}?我试过下面的代码,但没有成功。
msdata:IsDataSet
答案 0 :(得分:0)
IsDataSet
是一个属性,因此对于您的XPath,您需要descendant::xs:element[@msdata:IsDataSet]
选择属性所在的元素,或descendant::xs:element[@msdata:IsDataSet = 'true']
选择那些属性值为{{1}的元素}}
答案 1 :(得分:0)
问题出在其他地方。
在从文件到内存中读取XML时,对于某些内部节点,它包含"<"
和">"
而不是"<"
和">"
。
我替换了这些,问题就消失了。