это, вероятно, глупый вопрос, и решение - это то, что я упустил, но предположим, что следующий XML-файл (ниже)
Я перебираю элементы info / test, а затем хочу повторить итерацию по test_properties, но я не знаю, как.
свойства никогда не являются фиксированным числом, поэтому он может иметь 1 свойство или 200
мне нужен атрибут type = '"и значение свойства
Я использую это до сих пор:
Dim Xml_Document As XPathDocument = New XPathDocument("e:\test.xml")
Dim Navigator As XPathNavigator = Xml_Document.CreateNavigator()
Dim ns As XmlNamespaceManager = New XmlNamespaceManager(Navigator.NameTable)
Dim NodeIterator As XPathNodeIterator = Navigator.Select("/info/test")
Try
While NodeIterator.MoveNext()
Dim sanction_id As Integer = CInt(NodeIterator.Current.GetAttribute("id", ns.DefaultNamespace))
Dim clone As XPathNavigator = NodeIterator.Current.Clone()
clone.MoveToFirstChild()
MsgBox(clone.Value)
clone.MoveToNext()
MsgBox(clone.Value)
clone.MoveToNext()
MsgBox(clone.Value)
clone.MoveToNext()
MsgBox(clone.Value)
clone.MoveToNext()
MsgBox(clone.Value)
clone.MoveToNext()
MsgBox(clone.Value)
clone.MoveToNext()
''''''''
' here i want to iterate through test_properties for each property
'''''''
End While
Catch ex As Exception
Console.WriteLine(ex.StackTrace)
End Try
и xml
<?xml version="1.0" encoding="UTF-8"?>
<info>
<test id="1">
<test_source>ONLINE</test_source>
<test_type><![CDATA[P]]></test_type>
<test_date><![CDATA[2012-02-23]]></test_date>
<test_programme><![CDATA[UK]]></test_programme>
<test_remark><![CDATA[Nice guy]]></test_remark>
<test_key>123456789</test_key>
<test_properties>
<property type="FIRSTNAME"><![CDATA[Robert]]></property>
<property type="MIDDLENAME"><![CDATA[]]></property>
<property type="LASTNAME"><![CDATA[Johnson]]></property>
<property type="GENDER"><![CDATA[M]]></property>
<property type="BIRTHDATE"><![CDATA[1900-01-01]]></property>
</test_properties>
</test>
<test id="2">
<test_source>ONLINE</test_source>
<test_type><![CDATA[P]]></test_type>
<test_date><![CDATA[2012-02-23]]></test_date>
<test_programme><![CDATA[UK]]></test_programme>
<test_remark><![CDATA[Nice girl]]></test_remark>
<test_key>123456789</test_key>
<test_properties>
<property type="FIRSTNAME"><![CDATA[Roberta]]></property>
<property type="MIDDLENAME"><![CDATA[]]></property>
<property type="LASTNAME"><![CDATA[Johnsons]]></property>
<property type="GENDER"><![CDATA[M]]></property>
<property type="BIRTHDATE"><![CDATA[1900-01-01]]></property>
</test_properties>
</test>
</info>