1

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>

各開始要素は、実行中のプロセスをその 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プロパティ andも確認する必要があります.Attributes(これは、次に列挙することができます)。

于 2013-02-07T12:51:26.790 に答える