首页 新闻 会员 周边 捐助

如何获取xml中某个节点的值?

0
悬赏园豆:10 [已解决问题] 解决于 2009-06-07 19:18

<OrderItems>

<OrderItem>
<ID>1</ID>
<ProductID>6</ProductID>
<PrdductName>联想笔记本电脑</PrdductName>
 <Quantity>100</Quantity>
<OrderItem>

<OrderItem>
<ID>1</ID>
<ProductID>6</ProductID>
<PrdductName>联想笔记本电脑</PrdductName>
 <Quantity>100</Quantity>
<OrderItem>

</OrderItems>

有上面一段XML内容,请问如何读取所有ProductID节点(读取某个指定节点)的值?

Terry Huang的主页 Terry Huang | 初学一级 | 园豆:50
提问于:2009-06-06 23:10
< >
分享
最佳答案
0

string xml =
@"<OrderItems>

<OrderItem>
<ID>1</ID>
<ProductID>6</ProductID>
<PrdductName>联想笔记本电脑</PrdductName>
<Quantity>100</Quantity>
</OrderItem>

<OrderItem>
<ID>1</ID>
<ProductID>6</ProductID>
<PrdductName>联想笔记本电脑</PrdductName>
<Quantity>100</Quantity>
</OrderItem>

</OrderItems>";
XDocument doc = XDocument.Parse(xml);
var nodes = doc.Descendants("ProductID");
foreach (var node in nodes)
{
    Console.WriteLine(node.Value);
}

这是.net 3.5的XLINQ写法

 

 

string xml =
@"<OrderItems>

<OrderItem>
<ID>1</ID>
<ProductID>6</ProductID>
<PrdductName>联想笔记本电脑</PrdductName>
<Quantity>100</Quantity>
</OrderItem>

<OrderItem>
<ID>1</ID>
<ProductID>6</ProductID>
<PrdductName>联想笔记本电脑</PrdductName>
<Quantity>100</Quantity>
</OrderItem>

</OrderItems>";

XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNodeList nodes = doc.GetElementsByTagName("ProductID");
for (int i = 0; i < nodes.Count; i++)
{
    XmlNode node = nodes[i];
    Console.WriteLine(node.InnerText);
}

这是.net 2.0标准XML API的写法

Gray Zhang | 专家六级 |园豆:17610 | 2009-06-06 23:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册