簡體   English   中英

將元素添加到xml節點

[英]Adding element to xml node

我到現在為止了,但是如何在第三位而不是第一位添加XElement

我必須將其添加到2個大文件中。

protected void Button1_Click(object sender, EventArgs e)
{
    var xml = XElement.Load(Server.MapPath(map1));
    var noprovider = xml.Elements("Component").Where(d => !d.Elements("L").Any());
    var prov in noprovider)
    {
        prov.AddFirst(new XElement("L", ""));
    }
    xml.Save(Server.MapPath(map1));
}

XML

<Reservedele>
    <Component>
        <Type>Støvsuger</Type>
        <Art>yiryidryi</Art>
        <Bemærkning> adadgadg</Bemærkning>
        <Varenummer>dfgdfg</Varenummer>
        <OprettetAf>John</OprettetAf>
        <Date>28. januar 2017</Date>
    </Component>
</Reservedele>

我不確定您的問題。 你的意思是那樣嗎?

using System;
using System.IO;
using System.Linq;
using System.Xml.Linq;

namespace XmlTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var xmlText = @"
<Reservedele>
  <Component>
    <Type>Støvsuger</Type>
    <Art>yiryidryi</Art>
    <Bemærkning> adadgadg</Bemærkning>
    <Varenummer>dfgdfg</Varenummer>
    <OprettetAf>John</OprettetAf>
    <Date>28. januar 2017</Date>
  </Component>
</Reservedele>";

            using (var sr = new StringReader(xmlText))
            {
                var xml = XElement.Load(sr);
                var noprovider = xml.Elements("Component").Where(d => !d.Elements("L").Any());

                noprovider.Elements().ElementAt(1).AddAfterSelf(new XElement("L", ""));
                //noprovider.Elements("Art").First().AddAfterSelf(new XElement("L", ""));

                Console.WriteLine(xml.ToString());
            }

            Console.WriteLine("\nPress any key ...");
            Console.ReadKey();
        }
    }
}

檢查XmlNode.InsertAfter和XmlNode.InsertBefore方法。 訪問https://msdn.microsoft.com/zh-cn/library/system.xml.xmlnode.insertbefore(v=vs.110).aspx

我建議你用

        System.Xml.XmlDocument myDoc = new System.Xml.XmlDocument();

        try
        {
            myDoc.Load(XMLFullFileName);
        }
        catch (Exception e)
        {
            throw new Exception("Loading failed!", e);
        }

然后,您可以迭代myDoc及其所有子元素和元素,並根據需要添加或插入。 看看XmlDocument-Class

暫無
暫無

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

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