str1とstr2は文字列変数であり、アクセスするノードの値を保持します。この場合、str1="abc"およびstr2="efg"です。変数xは整数です。プログラムを実行すると、「値がint32に対して大きすぎるか小さすぎる」というエラーが発生します。
XPathDocument xmlDoc = new XPathDocument(path);
XPathNavigator course= xmlDoc.CreateNavigator();
XPathNodeIterator value = course.Select("/root/x[@atr =" + str1 + "]/y[@atr =" + str2 + "]/value1");
x = Convert.ToInt32(value.Current.Value);
私のxmlは:
<root>
<x atr = "abc">
<y atr ="efg">
<value1>12</value1>
<value2>25</value2>
<value3>16</value3>
</y>
</x>
</root>