0

だから私は現在、アイテムレベルでXMLノードを持っています:

    <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>

そのノードのみの 0000000063089 である Item_Number 値を取得するにはどうすればよいですか? C# で。

ノードは次のように保存されます。

     XmlNode node;
4

4 に答える 4

3

使用できます[]

node["Item_Number"].InnerText == "0000000063089"

またはSelectSingleNode():

node.SelectSingleNode("Item_Number").InnerText == "0000000063089"

後者は名前空間を使用し、前者は使用しません。

于 2012-06-12T17:47:50.660 に答える
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になります。

于 2012-06-12T17:50:28.083 に答える
0

既に得た回答に問題があるわけではありませんが、Linq を使用してそれを行うこともできます。何かのようなもの:

node.ChildNodes
    .OfType<XmlNode>()
    .Where(x => x.Name == "Item_Number")
    .Select(x=>x.InnerText).FirstOrDefault();
于 2012-06-12T18:13:56.410 に答える
-1

XmlNode クラスのドキュメントはご覧になりましたか? http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspxおそらく、やりたいことを実行するためのプロパティまたはメソッドがあります。

于 2012-06-12T17:48:00.080 に答える