我是 LINQ to XML 的新手,目前正在使用以下 XML:
<invoices>
<invoice>
<order_id>85</order_id>
<time>02:52 PM</time>
<date>24-05-2013</date>
<order>
<item>
<Main>
<id>343</id>
<Qty>1</Qty>
</Main>
<Add />
</item>
<item>
<Main>
<id>3</id>
<Qty>1</Qty>
</Main>
<Add>
<Extra id="1">
<Qty>1</Qty>
<Desc>Regular</Desc>
</Extra>
</Add>
</item>
</order>
</invoice>
<invoice>
<order_id>88</order_id>
<time>03:10 PM</time>
<date>24-05-2013</date>
<order>
<item>
<Main>
<id>345</id>
<Qty>1</Qty>
</Main>
<Add />
</item>
<item>
<Main>
<id>2</id>
<Qty>2</Qty>
</Main>
<Add>
<Extra id="1">
<Qty>1</Qty>
<Desc>Regular</Desc>
</Extra>
</Add>
</item>
</order>
</invoice>
</invoices>
到目前为止,我已经编写了以下代码:
void queryData(XDocument doc)
{
var data = from item in doc.Descendants("invoice")
select new
{
orderId = item.Element("order_id").Value,
orderDate = item.Element("date").Value,
orderTime = item.Element("time").Value
};
foreach(var p in data)
Console.WriteLine(p.ToString());
//...
}
我无法阅读“订单”标签中的嵌套标签。元素/标签“添加”有时也有“额外”编号。标签/元素,有时不是。
我无权访问生成此 xml 的代码,因此必须阅读此模式。
到目前为止,我已经尝试过使用分组,但我无法使用 2 级和 3 级元素。
阅读后,我会将这些值保存到数据库中。
谢谢,