2

伙计们,我有一个带有这个模型的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程序读取属性的值a,bc, 基于节点的属性 id 的值IdValue

你能帮帮我吗?

谢谢 :)

4

1 回答 1

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 }
于 2013-03-27T20:15:27.587 回答