1

存在するすべての値が c# のディクショナリに追加されていません。これまでのコード スニペットは次のとおりです。

 XmlNodeList Bugs_filter = Bugs.SelectNodes("/criteria/includeFilterSets/filterSet/filter");
    if (Bugs_filter != null)
    {

        foreach (XmlNode BNode in Bugs_filter)
        {
            string data = BNode.SelectSingleNode("/criteria/includeFilterSets/filterSet/filter/filterName").InnerText;
            string aggregate = BNode.SelectSingleNode("/criteria/includeFilterSets/filterSet/filter/value").InnerText;

            {   
                 Dict.Add(data,aggregate);
            }
        }
    }

「Bugs_Filter」には合計 3 つの値が存在しますが、2 回目にループに入ると最初の値のみが取得されます。私が間違っていることを提案してください。

値を抽出している XML を参照してください。

 <?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><criteria><includeFilterSets><filterSet><filter><filterId>42</filterId>
    <filterName>PRODUCT_ID</filterName><operator><id>1</id><name>Equals</name></operator><value>1113</value></filter><filter><filterId>41</filterId>
    <filterName>FAMILY_ID</filterName><operator><id>1</id><name>Equals</name></operator><value>ESG</value></filter><filter><filterId>3</filterId><filterName>VERSION_NAME</filterName>
    <operator><id>1</id><name>Equals</name></operator><value>4.5</value></filter></filterSet></includeFilterSets><excludeFilterSets/><ordering/>
    <bugGroupSearchMode>0</bugGroupSearchMode><caseSensitive>true</caseSensitive><entityToSearch><id>1</id><name>BUG</name></entityToSearch></criteria>

PRODUCT_ID、FAMILY_ID、および VERSION_NAME を抽出していることに注意してください。

4

2 に答える 2