2013-02-07 70 views
1

在使用XmlDocument讀取子節點時,我無法讀取屬性字符串。 更具體,即時試圖讀取包含正在運行的進程列表中的XML:使用XmlDocument從子節點讀取屬性字符串

<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 /進程的每個子節點:

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,鉻)和想不出如何獲得其他屬性。

謝謝!

+0

試過Child.attribute ?? – 2013-02-07 12:50:47

+1

你想添加到listProc1中?連接字符串?爲什麼你不能使用Linq到Xml? –

回答

2

看看在使用XMLNode C#類的哪些特性是提供給您一個概述: http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.aspx

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

只會給你的元素,這是您收到什麼的名稱。您還需要查看.Value屬性和.Attributes(反過來可以通過枚舉)。