これはスクリプトですが、コンソールにはスペースのみが表示されます。誰かがxPathを使用してXMLファイルから属性値を取得する方法を説明できますか?私は推測XPathを使用してXMLノードの属性値を取得する方法
XPathNavigator nav;
XPathDocument docNav;
XPathNodeIterator NodeIter;
XmlNamespaceManager ns;
Int32 elementCount;
String windowName;
private void Form1_Load(object sender, EventArgs e)
{
docNav = new XPathDocument("C:/BlueEyeMacro/DaMaGeX/Applications/WindowBuilder/GUI.xml");
nav = docNav.CreateNavigator();
ns = new XmlNamespaceManager(nav.NameTable);
elementCount = nav.Select("/GUI/window").Count;
Console.WriteLine(elementCount);
for (int i = 1; i <= elementCount; i++)
{
NodeIter = nav.Select("/GUI/window[@ID="+i+"]");
windowName = NodeIter.Current.GetAttribute("name", ns.DefaultNamespace);
Console.WriteLine("{0}", windowName);
}
}
}
XMLファイル
<GUI>
<window ID="1" name="mainWindow" parent="0" type="0" text="My first window" options="Option 1;" actions="action 1;" exit="exit;" />
<window ID="2" name="secondWindow" parent="0" type="0" text="My second window" options="Option 1;" actions="action 1;" exit="exit;" />
<window ID="3" name="thirdWindow" parent="0" type="0" text="My third window" options="Option 1;" actions="action 1;" exit="exit;" />
</GUI>
次のコードは奇妙に見えます。あなたはどんな問題があるか説明してください。 –
DaMaGeX:現在受け入れているソリューションよりも短く/簡単なソリューションに興味があるかもしれません。 –