簡體   English   中英

使用Linq在最后一個元素之前添加XML元素

[英]Add XML element before last element using Linq

我需要使用Linq在XML的最后一個元素之前添加新元素。

例如:

<?xml version="1.0" encoding="utf-8"?>
<products>
  <product id="p1">
    <name>Delta</name>
    <price>800</price>
    <country>Denmark</country>
  </product>
  <product id="p3">
    <name>Alfa</name>
    <price>1200</price>
    <country>Germany</country>
  </product>
</products>

應該使用Linq在<country>元素之前插入新元素<stock></stock>

// load the XML file into XDocument instance
var doc = XDocument.Load("sourceFile.xml");

// find all <country> elements
var countries = doc.Root.Elements("product").Elements("Country");

// add <stock /> before each <country> elements
foreach(var country in countries)
{
    country.AddBeforeSelf(new XElement("stock"));
}

// save document to the file
doc.Save("sourceFile.xml");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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