检查是否存在具有相同名称的第二个标签,确保不存在错误

时间:2015-03-12 02:59:03

标签: vb.net

我有一个带有两个同名标签的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.

但是,我觉得这样做并不舒服。是否有解决方案可以处理可能发生的所有异常,或者是确保没有错误发生的解决方案,或者只是另一种方法吗?

1 个答案:

答案 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