xml のそれぞれの属性値によって識別される xml ノードのさまざまなセットを実行したいと思います。しかし、私が直面しているのは、2番目の属性値が識別されていても、セット1のxmlノードのみが実行されているということです.Hereが私の現在のコードです:
for (int m = 0; m < 10; m++)
{
attrVal_New = Update_Bugs[m].Attributes["TestCondition"].Value;
foreach (string attr in attrVal_New.Split(','))
{
Console.WriteLine(attr);
....
次のようにサンプル xml を見つけてください。
<DrWatson>
<Bugs Name="Testing 11" TestCondition="STATE">
<Bug>
<family>ESG</family>
<product>Dr.Watson</product>
<duplicateId>Blank</duplicateId>
<note></note>
</Bug>
<Bug>
<family>ESG</family>
<product>Dr.Watson</product>
<duplicateId>Blank</duplicateId>
<note></note>
</Bug>
</Bugs>
<Bugs Name="Testing 22" TestCondition="STATUS">
<Bug>
<family>ESG</family>
<product>Dr.Watson</product>
<duplicateId>Blank</duplicateId>
<note></note>
</Bug>
<Bug>
<family>ESG</family>
<product>Dr.Watson</product>
<duplicateId>Blank</duplicateId>
<note></note>
</Bug>
</Bugs>
</DrWatson>
TestCondition の下に「STATE」および STATUS として定義された異なる属性値があることに注意してください。このループを 2 回目に実行すると、属性値が検出されますが、属性値'STATUS'
の下にある xml ノードが実行され'STATE'
ます。提案してください。
「Update Bugs」のコード スニペットは次のとおりです。
XmlDocument XDoc = new DrWatsonCore().LoadXMLFromFile(FilePath_EXPRESS_API_BugAdd_CreateBugs_DataFile);
XmlNodeList Update_Bugs = XDoc.GetElementsByTagName("Bugs");
私はこの部分を使用しAttribute Tag Names
て、xml で利用可能な xmlを識別しています'TestCondition'
。
これは私があなたの提案の後に行っていることであり、2 番目の属性値を取得しているため、同じ問題に再び直面していますが、STATE
属性値で使用可能な xml ノードのセットが実行されています。
for (int m = 0; m < 10; m++)
{
XmlAttributeCollection coll = Update_Bugs.Item(m).Attributes;
string value = coll.Item(m).Value;
attrVal_New = Update_Bugs[m].Attributes["TestCondition"].Value;
//m++;
foreach (string attr in attrVal_New.Split(','))
{
string attributelowercase = attr.ToLower();
//Step1: Create Bugs
List<string> BugWSResponseList1 = new List<string>();
BugWSResponseList1 = CreateBugs(FilePath_EXPRESS_API_BugAdd_CreateBugs_DataFile, newValue);