【发布时间】:2020-05-05 07:06:20
【问题描述】:
我有下面的xml;
<Main>
<Item ItemID="123456">
<Devtm PL="SP"></Devtm>
<Devtm PL="RV"></Devtm>
</Item>
</Main>
我正在尝试获取属于 Devtm 元素的所有值。该元素可以有多个带有 PL 属性的值。
using (WebResponse response = request.GetResponse())
{
using (StreamReader rd = new StreamReader(response.GetResponseStream()))
{
string soapResult = rd.ReadToEnd();
var xdoc = XDocument.Parse(soapResult);
var lineItemDetails = xdoc.Descendants("Main");
foreach (var lineItemDetail in lineItemDetails)
{
var Devtm = lineItemDetail.Element("Item")?.Element("Devtm")?.Attribute("PL")?.Value;
Console.WriteLine(Devtm);
}
}
}
这只是给了我第一个元素值,即“SP”。我怎样才能得到第二个值呢?我不需要循环,因为我知道那里只有 2 个值。
由于某些原因,LINQ 也不是一个选项。如何使用 XDocument 实现它?
【问题讨论】:
标签: c# xml xml-parsing