[英]Get the Element Value in the XML by using LINQ to XML
我正在嘗試通過使用LINQ to XML獲取XML文件的值。
這是XML文件的示例塊。
<SECTION NAME="Details">
<COLUMNS>
<COLUMN NAME="STOCK.STOCK_CODE">CODE A</COLUMN>
<COLUMN NAME="STOCK.DESCRIPTION">Product A</COLUMN>
<COLUMN NAME="STOCK.SALES_PRICE">43.65</COLUMN>
<COLUMN NAME="STOCK.SUPPLIER_PART_NUMBER"></COLUMN>
<COLUMN NAME="STOCK.UNIT_WEIGHT">65.50</COLUMN>
<COLUMN NAME="STOCK.OUT_OF_STOCK">0</COLUMN>
<COLUMN NAME="STOCK.BRAND">ADDIDAS</COLUMN>
<COLUMN NAME="STOCK.CATEGORY1">MEN</COLUMN>
<COLUMN NAME="STOCK.CATEGORY2">TOILETERIES</COLUMN>
</COLUMNS>
</SECTION>
<SECTION NAME="Details">
<COLUMNS>
<COLUMN NAME="STOCK.STOCK_CODE">CODE B</COLUMN>
<COLUMN NAME="STOCK.DESCRIPTION">Product B</COLUMN>
<COLUMN NAME="STOCK.SALES_PRICE">18.95</COLUMN>
<COLUMN NAME="STOCK.SUPPLIER_PART_NUMBER">30.45</COLUMN>
<COLUMN NAME="STOCK.UNIT_WEIGHT">38.50</COLUMN>
<COLUMN NAME="STOCK.OUT_OF_STOCK">0</COLUMN>
<COLUMN NAME="STOCK.BRAND">REVLON</COLUMN>
<COLUMN NAME="STOCK.CATEGORY1">WOMEN</COLUMN>
<COLUMN NAME="STOCK.CATEGORY2">PERFUMES</COLUMN>
</COLUMNS>
</SECTION>
我使用LINQ to XML將值放入對象。 除了使用固定位置,我還想通過使用“名稱”的值來獲取值。 請指導我如何選擇值? 謝謝。
foreach (var page in root.Elements("PAGE").Elements("SECTIONS").Elements("SECTION"))
{
CurrentProduct = string.Empty;
if (page.Attribute("NAME").Value == "Details")
{
var sec = page.Element("COLUMNS");
UploadPrice pp = new UploadPrice();
pp.Code = sec.Elements("COLUMN").ElementAt(0).Value;
pp.Net = sec.Elements("COLUMN").ElementAt(2).Value;
pp.POR25 = sec.Elements("COLUMN").ElementAt(3).Value;
pp.SSP = sec.Elements("COLUMN").ElementAt(4).Value;
UploadPrices.Add(pp);
}
}
使用例如pp.Code = sec.Elements("COLUMN").First(c => c.Attribute("NAME").Value == "STOCK.STOCK_CODE").Value;
等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.