簡體   English   中英

如何從XML文檔獲取價值

[英]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的值,即startdateprice

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM