【发布时间】:2013-12-27 13:34:48
【问题描述】:
我的 XML 有多个元素,但是当我尝试使用 LINQ 解析它们时,我只得到一个元素。我的 select 语句出了点问题,但我有一段时间了解出了什么问题。结果应该是一个字典,其中包含所有 (2) invoiceListItems 的 InvoiceUid 和 InvoiceNumber
这是我的 XML:
<?xml version="1.0" encoding="utf-8"?>
<invoiceListResponse>
<invoiceList>
<invoiceListItem>
<invoiceUid>39165890</invoiceUid>
<invoiceDate>2013-12-26</invoiceDate>
<invoiceNumber>W10001888</invoiceNumber>
<contactUid>8363070</contactUid>
</invoiceListItem>
<invoiceListItem>
<invoiceUid>39149309</invoiceUid>
<invoiceDate>2013-12-24</invoiceDate>
<invoiceNumber>W100</invoiceNumber>
<contactUid>8363070</contactUid>
</invoiceListItem>
</invoiceList>
</invoiceListResponse>
还有我的代码:
Dim list As XmlDocument = proxy.Find(queries)
Dim InvoiceList = XDocument.Parse(list.InnerXml)
' get all <InvoiceListItem> elements from the xdocumetn
Dim InvoiceListItems = From invoiceListItem In InvoiceList...<invoiceList>
Select invoiceListItem
'go through each InvoiceListItem in InvoiceListItems
For Each InvoiceListItem In InvoiceListItems
Console.WriteLine("Uid is {0} and Invoice Number is {1}", InvoiceListItem...<invoiceUid>.Value, InvoiceListItem...<invoiceNumber>.Value)
returnInvoiceList.Add(InvoiceListItem...<invoiceNumber>.Value, CType(InvoiceListItem...<invoiceUid>.Value, Integer))
Next
Return returnInvoiceList
【问题讨论】: