所以我目前在Item级别有一个XML Node:
<Item>
<Item_Number>0000000063089</Item_Number>
<English_Description>MOUNTAIN DEW</English_Description>
<French_Description>MOUNTAIN DEW</French_Description>
<Price>219</Price>
<Department>000006</Department>
<Department_Description>BEVERAGES</Department_Description>
<FHST>11</FHST>
<HST>18</HST>
<UPC>0006900005056</UPC>
<Total_Without_Tax>219</Total_Without_Tax>
<Total_With_Tax>248</Total_With_Tax>
<Quantity>1</Quantity>
</Item>
如何获取Item_Number值,该节点仅为0000000063089?在C#。
节点存储为:
XmlNode node;
答案 0 :(得分:3)
您可以使用[]
:
node["Item_Number"].InnerText == "0000000063089"
或SelectSingleNode()
:
node.SelectSingleNode("Item_Number").InnerText == "0000000063089"
后者使用命名空间,前者不使用。
答案 1 :(得分:0)
//Display the contents of the child nodes.
if (node.HasChildNodes)
{
for (int i=0; i<node.ChildNodes.Count; i++)
{
Console.WriteLine(node.ChildNodes[i].InnerText);
}
}
所以,如果你想要第一个项目那么它就是node.ChildNodes [0] .InnerText
答案 2 :(得分:0)
并不是说你已经得到的答案有任何问题,但你也可以使用Linq来做到这一点。类似的东西:
node.ChildNodes
.OfType<XmlNode>()
.Where(x => x.Name == "Item_Number")
.Select(x=>x.InnerText).FirstOrDefault();
答案 3 :(得分:-1)
您是否查看了XmlNode类的文档? http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspx可能有一种财产或方法可以做你想做的事。