<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에서 msdata:IsDataSet
속성을 사용하여 xs:element
을 어떻게 선택합니까? 나는 코드를 시도했지만 성공하지 못했다. 당신의 XPath에 대해이 속성은 그 속성 값 true
을 가지고 이러한 요소를 선택할 수 없거나 descendant::xs:element[@msdata:IsDataSet = 'true']
입니다 이러한 요소를 선택 descendant::xs:element[@msdata:IsDataSet]
필요하므로XMLDocument 네임 스페이스가있는 XPATH를 사용하여 노드를 선택하십시오.
Dim doc As New XmlDocument()
doc.Load("test.xml")
Dim root As XmlNode = doc.DocumentElement
Dim nsmgr As New XmlNamespaceManager(doc.NameTable)
nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema")
nsmgr.AddNamespace("msdata", "urn:schemas-microsoft-com:xml-msdata")
Dim node As XmlNode = root.SelectSingleNode(_
"descendant::xs:element[msdata:IsDataSet]", nsmgr)
Console.WriteLine(node.InnerXml)
이것은 작동하지 않습니다. –