【问题标题】:Copy Xml element to another document in C#将 Xml 元素复制到 C# 中的另一个文档
【发布时间】:2012-03-08 13:40:46
【问题描述】:

我已经搜索了很多地方并查看了很多示例,但我仍然无法在我想要的地方将节点添加到我的 XML 中。

这是我的问题

我有一个 XML 文件,我的程序将读取该文件,目的是将它用作我的新 XML 文件的模板。但正如我所说,我创建的“XML 模板”只有最通用的定义,这意味着我需要读取该模板的一个特定节点,将其添加到新的 xml,创建新节点并将它们添加到新的 xml 文件中

模板 XML:

<A>
  <B>
    <c>element 1</c>
    <d>element 2</d>
    <e>element 3</e>
  </B>
  <B>
    <c>element 4</c>
    <d>element 5</d>
    <e>element 6</e>
  </B>
</A>

这是我需要创建的新文件:

<A>
  <B>
    <c>element 7</c>
    <d>element 8</d>
    <e>element 9</e>
    <f>element 10</f>
    <g>element 11</g>
  </B>
<B>
    <c>element 12</c>
    <d>element 13</d>
    <e>element 14</e>
    <f>element 15</f>
    <g>element 16</g>
  </B>
</A>

如下图所示

<A>
  <B>
    <c>element 7</c>
    <d>element 8</d>
    <e>element 9</e>
  </B>
</A>

我需要从我的模板 xml 复制到我的新 xml 文件,(选择哪个节点取决于用户),但是该特定节点将被复制到新 xml,然后我需要添加一些节点到我已复制到新文件以使其更完整的节点。我需要将它们添加到 B 标签中。

在我能够做到这一点后,我需要通过添加更多模板节点并将它们堆叠在 A 标记之间,让用户继续增长新的 xml 文件。

我已经成功复制了 xml 模板节点并将其添加到新文件中,但是我无法添加新节点,也无法让该 xml 不断增长,每次我添加 B node 到它之前订阅的 A 节点。

如果有人知道如何帮助我,我将不胜感激,因为今天是我使用 XML 的第一天

【问题讨论】:

  • 我不清楚你到底在问什么。您能否向我们展示您的代码的相关部分并描述您究竟希望它做什么以及它实际做什么?

标签: c# xml


【解决方案1】:

我推荐使用 LINQ TO XML 我认为它简单易实现。 这是如何使用 LInq 读取 xml 的示例

   XDocument xmlDoc = XDocument.Load(Server.MapPath("XMLFile.xml"));

    var persons = (from elements in xmlDoc.Descendants("A")
    where elements.Element("c").Value==//VALUE YOU LOOKING TO GET 
    select new
    {
    c = elements.Element("c").Value,
    d = elements.Element("d").Value,
    e = elements.Element("e").Value,
    }).FirstOrDefault();
    /// ADD ELEMENT TO ANOTHER XML

XDocument xmlDoc = XDocument.Load(Server.MapPath("AnotherXMLFile.xml"));

    xmlDoc.Element("A").Add(new XElement("B", new XElement("e", persons.e)));

这里有一个很好的教程

http://www.aspnettutorials.com/tutorials/xml/linq-to-xml-adding-cs.aspx

【讨论】:

    猜你喜欢
    • 2012-11-22
    • 2017-05-13
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多