在使用XmlDocument读取子节点时,我无法读取属性字符串。 更具体地说,我试图读取包含正在运行的进程列表的XML:
<Process_List>
<Processes>
<ibmpmsvc ID_1="860" />
<svchost ID_2="8616" />
<chrome ID_4="4300" />
<SearchIndexer ID_5="3868" />
<smss ID_6="416" />
</processes>
</Process_List>
每个start元素都会显示一个正在运行的进程及其ID(以及稍后的其他内容)。
所以我使用XmlDocument来读取/ Process_List / Processes的每个子节点:
XmlNodeList xnList = xml.SelectNodes("/Process_List/Processes");
foreach (XmlNode xn in xnList)
{
XmlNodeList cxnList = xn.ChildNodes;
foreach (XmlNode child in cxnList)
{
listProc1.Add(child.Name.ToString());
}
}
问题是,我只得到孩子的名字,(ibmpmsvc,svchost,chrome),并且无法弄清楚如何获得其他属性。
谢谢!
答案 0 :(得分:2)
您可以使用child.Attributes
。
答案 1 :(得分:2)
查看XMLNode C#类,了解可用的属性概述: http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspx
listProc1.Add(child.Name.ToString());
只会为您提供元素的名称,这就是您所接收的内容。您还需要查看.Value
属性和.Attributes
(后者可以通过枚举)。