使用XmlDocument从子节点读取属性字符串
本文关键字:属性 字符串 读取 子节点 XmlDocument 使用 | 更新日期: 2023-09-27 17:58:04
我在使用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),而不知道如何获取其其他属性。
谢谢!
您可以使用child.Attributes
。
查看XMLNode C#类,了解可供您使用的属性:http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspx
listProc1.Add(child.Name.ToString());
只会给您元素的名称,这就是您正在接收的内容。您还需要查看.Value
属性和.Attributes
(依次可以通过枚举)。