16

次の XML から xml ノード「名前」を読み取らなければならないのですが、その方法がわかりません。

XML は次のとおりです。

<?xml version="1.0" standalone="yes" ?>
  <games>
    <game>
      <name>Google Pacman</name>
      <url>http:\\www.google.de</url>
    </game>
  </games>

コード:

using System.Xml;

namespace SRCDSGUI
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(Application.StartupPath + @"\games.xml");


            XmlElement root = doc.DocumentElement;
            XmlNodeList nodes = root.SelectNodes("//games");

            foreach (XmlNode node in nodes)
            {
                listBox1.Items.Add(node["game"].InnerText);
            }


        }
    }
}
4

5 に答える 5

20

多分これを試してみてください

XmlNodeList nodes = root.SelectNodes("//games/game")
foreach (XmlNode node in nodes)
{
    listBox1.Items.Add(node["name"].InnerText);
}
于 2012-04-05T17:37:25.337 に答える
5

またはこれを試してください:

XmlNodeList nodes = root.GetElementsByTagName("name");
for(int i=0; i<nodes.Count; i++)
{
listBox1.Items.Add(nodes[i].InnerXml);
}
于 2017-12-12T11:30:48.537 に答える
3

あなたは本当に近くにいます-あなたはゲームノードを見つけました、なぜあなたはさらに一歩進んで、それがゲームの下の子供として存在するなら名前ノードを取得しませんか?

for eachループ内:

listBox1.Items.Add(node.SelectSingleNode("game/name").InnerText);
于 2012-04-05T17:37:53.840 に答える