我想执行不同的 xml 节点集,这些节点由它们在 xml 中的各自属性值标识。但我面临的是,即使正在识别第二个属性值,也只有 set 1 xml 节点正在执行。这是我当前的代码:
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。第二次运行此循环时,属性值被检测为'STATUS'
但它执行属性值下存在的 xml 节点。请'STATE'
建议。
这是“更新错误”的代码片段,如下所示:
XmlDocument XDoc = new DrWatsonCore().LoadXMLFromFile(FilePath_EXPRESS_API_BugAdd_CreateBugs_DataFile);
XmlNodeList Update_Bugs = XDoc.GetElementsByTagName("Bugs");
我正在使用这部分来识别我Attribute Tag Names
的 xml 中可用'TestCondition'
的 xml 中的内容。
这是我在收到您的建议后正在做的事情,我再次面临同样的问题,因为我正在选择第二个属性值,但是属性值下可用的 xml 节点集STATE
正在执行。
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);