[英]How to get the value from a XML Document
我正在嘗試從以下xml示例中提取值:
<myPrices>
<Prices Date="10-Oct-18" ReportName="myReport">
<Record RecordId="1">
<COLUMN DisplayName="Start Date" FormalName="startdate">11.10.2018</COLUMN>
<COLUMN DisplayName="End Date" FormalName="Price">10</COLUMN>
</Record>
<Record RecordId="2">
<COLUMN DisplayName="Start Date" FormalName="startdate">11.10.2018</COLUMN>
<COLUMN DisplayName="End Date" FormalName="Price">20</COLUMN>
</Record>
</Prices>
</myPrices>
因此,對於上述情況,我希望值10和20。
到目前為止,我有以下內容(來自Stackoverflow鏈接 ),但這為我提供了FormalName
的值,即startdate
和price
。
string[] arr = new string[3];
var dr = from n in prices.Descendants("COLUMN")
select new string[]
{
arr[0] = n.Attribute("FormalName").Value
};
foreach (var item in dr)
{
dt.Rows.Add(item[0]);
}
您正在獲取FormalName
的值,因為這就是您所選擇的。 您想要的是僅過濾其FormalName
屬性等於"Price"
COLUMN
,然后檢索該元素的值:
var result = prices.Descendants("COLUMN")
.Where(e => e.Attribute("FormalName")?.Value == "Price")
.Select(e => e.Value);
現在哪個IMO在查詢語法上看起來會更干凈:
var result = from c in prices.Descendants("COLUMN")
where c.Attribute("FormalName")?.Value == "Price"
select c.Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.