我有一个带有两个同名标签的XML" column"如下:
<column>
<entry>....</entry>
</column>
<column>
<entry>....</entry>
</column>
现在我需要将第一个分配给名为left的对象,将第二个分配给名为right的对象。
无法保证其中一个或两个列标记都存在。 我现在调用xmlDocument.Root.Elements(&#34; column&#34;)来获取两个列元素并检查计数是否大于0以获得第一个,然后检查count是否大于1以获取第二个。
If columns.count > 0
//get data from the first one
if columns.count > 1
//get data from second one.
但是,我觉得这样做并不舒服。是否有解决方案可以处理可能发生的所有异常,或者是确保没有错误发生的解决方案,或者只是另一种方法吗?
答案 0 :(得分:0)
您可以使用每个列迭代所有列。示范:
Sub Main()
Dim fileName As String = "yourXml.xml"
Dim document As XDocument = XDocument.Load(fileName, LoadOptions.None)
Dim columns As IEnumerable(Of XElement) = document.Root.Elements("column")
For Each element As XElement In columns
'get data
Next
End Sub
或者如果索引很重要:
Sub Main()
Dim fileName As String = "yourXml.xml"
Dim document As XDocument = XDocument.Load(fileName, LoadOptions.None)
Dim columns As XElement() = document.Root.Elements("column").ToArray()
For index = 0 To columns.Length - 1
Dim column As XElement = columns(index)
'get data
Next
End Sub