1

我在使用 XmlDocument 读取 thro 子节点时无法读取属性字符串。更具体地说,我试图读取一个包含正在运行的进程列表的 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>

每个开始元素都显示了一个正在运行的进程及其 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)并且无法弄清楚如何获得它的其他属性。

谢谢!

4

2 回答 2

2

你可以使用child.Attributes它。

于 2013-02-07T12:49:47.917 回答
2

查看 XMLNode C# 类,了解您可以使用哪些属性:http: //msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspx

listProc1.Add(child.Name.ToString());

只会给你元素的名称,这是你收到的。您还需要查看.Value属性和.Attributes(反过来可以通过枚举)。

于 2013-02-07T12:51:26.790 回答