gpt4 book ai didi

c# - 我如何使用 C# 一次读取 xml 中提到的所有属性

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:41 24 4
gpt4 key购买 nike

我想读取 xml 中指定的所有属性值。请在下面的示例 xml 中找到如下所示:

<DrWatson>
<Bugs Name="STATE" TestCondition="STATE">
<Bug>
<family>ESG</family>
<note></note>
</Bug>
<Bug>
<family>ESG</family>
<product>Dr.Watson</product>
<version>Xpress API</version>
<productarea>1</productarea>
<subarea>Blank</subarea>
<title>Bug.AddNote#1 : Dr.Watson Framework by Aman</title>
<description>test</description>
<appLanguages>English~~Bug</appLanguages>
<platforms>Win XP All~~English~~Bug</platforms>
<state>Open</state>
<status>ToFix</status>
<reason>Blank</reason>
<failureType>Unspecified</failureType>
<Frequency>Unknown</Frequency>
<severity>0</severity>
<priority>0</priority>
<methodFound>Blank</methodFound>
<foundInBuild>1</foundInBuild>
<dev>bansal</dev>
<qe>sdawar</qe>
<keyword>Blank</keyword>
<duplicateId>Blank</duplicateId>
<note></note>
</Bug>
</Bugs>
<Bugs Name="STATUS" TestCondition="STATUS">
<Bug>
<family>ESG</family>
<product>Dr.Watson</product>
<foundInBuild>1</foundInBuild>
<dev>bansal</dev>
<qe>sdawar</qe>
<keyword>Blank</keyword>
<duplicateId>Blank</duplicateId>
<note></note>
</Bug>
<Bug>
<family>ESG</family>
<product>Dr.Watson</product>
<version>Xpress API</version>
<failureType>Unspecified</failureType>
<Frequency>Unknown</Frequency>
<severity>0</severity>
<priority>0</priority>
<methodFound>Blank</methodFound>
<foundInBuild>1</foundInBuild>
<dev>bansal</dev>
<qe>sdawar</qe>
<keyword>Blank</keyword>
<duplicateId>Blank</duplicateId>
<note></note>
</Bug>
</Bugs>
</DrWatson>

我想一次性阅读测试条件下提到的所有属性。目前我正在尝试使用以下代码执行此操作:

XmlDocument XDoc = new DrWatsonCore().LoadXMLFromFile(FilePath_EXPRESS_API_BugAdd_CreateBugs_DataFile);
XmlNodeList Update_Bugs = XDoc.GetElementsByTagName("Bugs");
string attrVal_New = "";
int m = 0;
attrVal_New = Update_Bugs[m].Attributes["TestCondition"].Value;

使用此代码后,我只能读取一个属性为“STATE”,而另一个属性为“STATUS”未被读取。请提出建议。

最佳答案

使用 LINQ to XML,您可以选择所有不同的测试条件值:

var xdoc = XDocument.Load(path_to_xml);
var testConditions = xdoc.Root.Elements("Bugs")
.Select(b => (string)b.Attribute("TestCondition"))
.Distinct();

输出:

STATE
STATUS

关于c# - 我如何使用 C# 一次读取 xml 中提到的所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18786858/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com