Ebi*_*ser 8 c# xml foreach loops nodes
我试图循环一个Xml文件并在消息中显示帐户的值.
XmlNodeList nodeList = testDoc.SelectNodes("/details/row/var");
foreach (XmlNode no in nodeList)
{
XmlNode node = testDoc.SelectSingleNode("/details/row/var[@name='account']");
test.actual = node.Attributes["value"].Value;
MessageBox.Show(test.account);
}
Run Code Online (Sandbox Code Playgroud)
消息框当前正在重复显示第一条记录,如何进入下一条记录?
感谢您提前输入.
Chr*_*son 14
您正在重复node使用相同的元素进行分配testDoc.目前尚不清楚是什么test.account(也许是错误的test.actual)?
no是迭代内容的变量nodeList- 我想你打算用它.
编辑 OP后编辑现在你已经向我们展示了nodeList是什么,我怀疑你想要做这样的事情:
XmlNodeList nodeList = testDoc.SelectNodes("/details/row/var[@name='account']");
foreach (XmlNode no in nodeList)
{
test.actual = no.Attributes["value"].Value;
...
Run Code Online (Sandbox Code Playgroud)
小智 5
XmlDocument doc = new XmlDocument();
doc.Load("d:\\test.xml");
XmlNodeList node = doc.GetElementsByTagName("w:r");
foreach (XmlNode xn in node)
{
try
{
if (xn["w:t"].InnerText != null)
{
if (xn["w:t"].InnerText == "#")
{
string placeHolder = xn["w:t"].InnerText;
foreach (XmlNode a in node)
{
if (a["w:t"].InnerText != "#")
{
string placeHolder1 = a["w:t"].InnerText;
}
}
}
}
}
catch (Exception e)
{
Console.Write(e);
}
}
Run Code Online (Sandbox Code Playgroud)