我试图隔离下面 XML 中<string>每个元素中的元素。<question>我使用的是我最熟悉的Xpath。基本上,我使用 a SelectNodes("question"),如果指向下面的 XML,它将返回正确的 5 个元素。然后我想迭代<string>每个 内的元素<question>。我不想直接转到“问题/字符串”,因为它将返回<string>XML 文件中的所有实例。我有一些工作要做,其中未包含在此处,实际文件比这复杂得多,但这就是我正在努力解决的问题。
这是我使用的代码。它返回<string>文件的所有元素,而不仅仅是我在任何给定时刻正在使用的节点。
XmlNodeList questions = doc.SelectNodes("//question");
string question = null;
foreach (XmlElement qquestion in questions) //I also tried XmlNode here
{
XmlNodeList qstrings = qquestion.SelectNodes("//string");
foreach (XmlNode qstring in qstrings)
{
question = qstring.InnerText; //There's a lot more processing I'll do here
}
}
这是我的简化 XML。感谢您的指点。
<content version="1.0">
<question>
<string>Question 1 part 1</string>
<string>Question 1 part 2</string>
<graphic scale=".8" align="center" yOffset="-50" xOffset="50" asset="Numline_Triangle"/>
<graphic scale="1.2" align="center" yOffset="20" asset="Numline_Shapes_0_40"/>
</question>
<question>
<string>Question 2</string>
<graphic scale=".8" align="center" yOffset="-50" xOffset="50" asset="Numline_Square"/>
<graphic scale="1.2" align="center" yOffset="20" asset="Numline_Shapes_0_40"/>
</question>
<question>
<string>Question 3 part 1</string>
<string>Question 3 part 2</string>
<graphic scale=".8" align="center" yOffset="-50" xOffset="50" asset="Numline_Square"/>
<graphic scale="1.2" align="center" yOffset="20" asset="Numline_Shapes_60_100"/>
</question>
<question>
<string>Question 4</string>
<graphic scale=".8" align="center" yOffset="-50" xOffset="50" asset="Numline_Circle"/>
<graphic scale="1.2" align="center" yOffset="20" asset="Numline_Shapes_60_100"/>
</question>
<question>
<string>Question 5</string>
<graphic scale=".8" align="center" yOffset="-50" xOffset="50" asset="Numline_Triangle"/>
<graphic scale="1.2" align="center" yOffset="20" asset="Numline_Shapes_60_100"/>
</question>
</content>
一只斗牛犬
相关分类