使用VB.NET读取xml文档的特定部分

时间:2013-03-27 19:13:13

标签: xml vb.net

我们,我有这个型号的xml:

<XML>
  <IdValue id="1">
    <Value a="1" b="2" c="3" />
  </IdValue >
  <IdValue id="2">
    <Value a="10" b="20" c="30" />
  </IdValue >
</XML>

所以我希望使用VB.NET程序,根据属性的值,阅读属性abc的值节点IdValue的ID。

你能帮助我吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

使用VB.Net的XML文字和Linq-to-XML非常容易。

给出以下XML:

Dim xml = <XML>
            <IdValue id="1">
                <Value a="1" b="2" c="3" />
            </IdValue >
            <IdValue id="2">
                <Value a="10" b="20" c="30" />
            </IdValue >
           </XML>

您可以轻松提取您正在寻找的值

Dim result = From id In xml.<IdValue>
             Select New With { .Id = id.@id,
                               .a  = id.<Value>.@a, 
                               .b  = id.<Value>.@b,
                               .c  = id.<Value>.@c }

For Each item in result
    Console.WriteLine(String.Format("id:{0} a:{1} b:{2} c:{3}", item.id, item.a, item.b, item.c))
Next

<强>输出:

  

id:1 a:1 b:2 c:3
  id:2 a:10 b:20 c:30

如果您对单个<IdValue>感兴趣,可以添加Where子句;例如:

Dim result = From id In xml.<IdValue>
             Where id.@id = 2
             Select New With { .Id = id.@id,
                               .a  = id.<Value>.@a, 
                               .b  = id.<Value>.@b,
                               .c  = id.<Value>.@c }