我有以下XML名称Sample.xml,我试图用XDocument查询accountNo:
<Request xmlns="http://CompanyName.AppName.version1">
<Person>
<AccountNo>83838</AccountNo>
<FirstName>Tom</FirstName>
<LastName>Jackson</LastName>
</Person>
<Person>
<AccountNo>789875</AccountNo>
<FirstName>Chris</FirstName>
<LastName>Smith</LastName>
</Person>
在C#中使用以下代码,我可以获取第一个人的帐户号
XDocument xmlDoc = XDocument.Load("Sample.xml");
XNamespace nsSys = "http://CompanyName.AppName.version1";
XElement xEl2 = xmlDoc.Element(nsSys + "Request ");
XElement xEl3 = xEl2.Element(nsSys + "Person");
XElement xEl4 = xEl3.Element(nsSys + "AccountNo");
String sValue = xEl4.Value;
输出:83838
如何编写代码来提取所有人的帐户号码 例如。
83838
789875
答案 0 :(得分:0)
您可以使用Select简单地投影数据: -
XNamespace ns = "http://CompanyName.AppName.version1";
var AccountNumbers = xdoc.Descendants(ns + "Person")
.Select(x => (string)x.Element(ns + "AccountNo")).ToList();
这会将所有帐户号码都显示为List<String>
。