伙计们,我有一个带有这个模型的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
,b
和c
, 基于节点的属性 id 的值IdValue
。
你能帮帮我吗?
谢谢 :)
使用 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 }