我试图从这个XML文档中获取子项:
XML CODE HERE:
<RUNNABLES>
<RUNNABLE-ENTITY UUID="1661dcae-c4b9-4f47-8b68-cb99c677bdd6">
<SHORT-NAME>RCtApElg_mlm</SHORT-NAME>
<DESC>
<L-2 L="FOR-ALL">The unique runnable entity of the Main Lights SW Component</L-2>
</DESC>
</RUNNABLES>
到目前为止,这就是我所做的:
这里的C#代码
XmlDocument xmlReader = new XmlDocument();
xmlReader.PreserveWhitespace = false;
xmlReader.Load(strfilename);
XmlNodeList elemList = xmlReader.SelectNodes("/RUNNABLES/RUNNABLE-ENTITY/SHORT-NAME");
我如何指定读取SHORT-NAME标签并获取&#34; RCtApElg_mlm&#34;价值结果?
答案 0 :(得分:0)
我认为你需要使用:
.Value
XmlNodeList elemList = xmlReader.SelectNodes("/RUNNABLES/RUNNABLE-ENTITY/SHORT-NAME").Value;
答案 1 :(得分:0)
如果您修复了样本xml(它错过了RUNNABLE-ENTITY的闭包标记),这应该可行:
XmlDocument xmlReader = new XmlDocument();
xmlReader.PreserveWhitespace = false;
xmlReader.Load(strfilename);
XmlNodeList elemList = xmlReader.SelectNodes("//RUNNABLES/RUNNABLE-ENTITY/SHORT-NAME");
string value = elemList.Item(0).InnerText;
答案 2 :(得分:0)
这就是我所做的:
XmlNode node = xmlReader.DocumentElement.FirstChild;
XmlNodeList lstPackage = node.ChildNodes;
for (int i = 0; i < 2; i++)
{
//MessageBox.Show(lstPackage[i].Name.ToString());
if (lstPackage[i].Name == "AR-PACKAGE")
{
aux++;
}
if(aux==2)
{
aux = 0;
XmlNodeList lstShortname = lstPackage[i].FirstChild.ChildNodes;
// Display the value of its first child node
for (int j = 0; j < lstShortname.Count; j++)
MessageBox.Show(lstShortname[j].InnerText);
}
}
不知道它是否是最好的选择,但我得到了结果。
谢谢!