親ノード内の特定のノードを検索したいのですが、
私はそれをこのようにしようとしました:
public string GetNodeValue(XmlNode myNode, string nodeName, string parentName)
{
return myNode.SelectSingleNode("//"+parentName).SelectSingleNode("//"+nodeName).InnerText;
}
private void SetXmlFile(string path)
{
XmlDocument _doc = new XmlDocument();
_doc.Load(path);
foreach (XmlNode node in _doc.SelectNodes("//MyNodeName"))
{
GetNodeValue(node,"NodeChildeName1","NodeParentName2");
}
}
私のxmlは次のようになります:
<SomeNode Name="x">
<a>a1</a>
<a>a2</a>
<a>a3</a>
</SomeNode >
<MyNodeName Name="a1">
<NodeParentName1>
<NodeChildeName1>0</NodeChildeName1>
<NodeChildeName2>40</NodeChildeName1>
</NodeParentName1>
<NodeParentName2>
<NodeChildeName1>1000</NodeChildeName1>
<NodeChildeName2>70</NodeChildeName1>
</NodeParentName2>
</MyNodeName >
正しい値を取得できません。彼は、親ノードの最初のノードではなく、名前を持つ最初のノードを取得しているようです。(私は1000ではなく0を取得します)