【发布时间】:2020-04-25 19:46:54
【问题描述】:
我需要一些关于 LINQ to XML 的帮助。我有以下 XML;
<GcctTestData>
<TestDriveRequest Record="1">
<element name="Time Zone">(GMT+05:30)</element>
<element name="Requested Dealer">Concorde</element>
<element name="Model Year">1999</element>
<element name="Make">Tata</element>
<element name="Model/Vehicle Line">Indica</element>
</TestDriveRequest>
<TestDriveRequest Record="2">
<element name="Time Zone">(GMT+05:30)</element>
<element name="Requested Dealer">Kun"</element>
<element name="Model Year">2020"</element>
<element name="Make">BMW"</element>
<element name="Model/Vehicle Line">3-series</element>
</TestDriveRequest>
<TestDriveRequest Record="3">
<element name="Time Zone">(GMT+05:30)</element>
<element name="Requested Dealer">KUN Hyundai</element>
<element name="Model Year">2001</element>
<element name="Make">Hyundai</element>
<element name="Model/Vehicle Line">Verna</element>
</TestDriveRequest>
</GcctTestData>
我试过如下:
IEnumerable<XElement> xElements =
from element in root.Elements("TestDriveRequest")
where element.Attribute("Record").Value == "1"
select element;
foreach (XElement el in xElements.Descendants().Where(p => !p.HasElements))
{
int keyInt = 0;
string keyName = el.Attribute("name").Value;
while (keyValuePairs.ContainsKey(keyName))
{
keyName = $"{el.Attribute("name").Value}_{keyInt++}";
}
keyValuePairs.Add(keyName, el.Value);
}
我必须为具有记录值 1
的父元素获取 元素 的元素 name 属性值>但是 linq 查询没有获取它...
【问题讨论】:
标签: c# linq linq-to-xml