0

在 .NET 中我有两个 System.Xml.XMlDocument 对象,第一个看起来像这样

<NewDataSet>
 <Table>
  <Table1>
    <Name>Aname</Name>
  <Table1>
  <Table2>
    <Val>value</Value>
  </Table2>
 </Table>
<NewDataSet>

我有一个看起来像这样的第二个 XML 文档

<HeaderValues>
   <yearValueH>yearValueH</yearValueH>
   <CalendarEventH>CalendarEventH</CalendarEventH>
  </HeaderValues>

我想在</Table>标签之后将第二个文档合并到第一个文档中。到目前为止,任何尝试这样做都会导致很多奇怪的错误,有人有什么建议吗?(最好在 VB.NET 中回答,但 C# 也可以)。

我尝试过的一些事情(在 VB.NET 中)包括(对于所有元素):

Dim yearValueH As XmlNode = xmlA.CreateNode("element","yearValueH","")
yearValueH.InnerText= xmlB.GetElementsByTagName("yearValueH")(0).InnerText
4

2 回答 2

3

由于您需要 XmlDocument 中的解决方案,因此请尝试以下操作:

        string xml1 = "<NewDataSet><Table><Table1><Name>Aname</Name></Table1><Table2><Value>value</Value></Table2></Table></NewDataSet>";
        string xml2 = "<HeaderValues><yearValueH>yearValueH</yearValueH><CalendarEventH>CalendarEventH</CalendarEventH></HeaderValues>";

        var doc1 = new XmlDocument();
        doc1.LoadXml(xml1);

        var doc2 = new XmlDocument();
        doc2.LoadXml(xml2);


        XmlNode newNode = doc1.ImportNode(doc2.DocumentElement, true);
        doc1.DocumentElement.AppendChild(newNode);

然后就可以查看新文档了:

        doc1.InnerXml
于 2013-06-14T16:27:35.257 回答
1

您可以将 XDocument 组件用于 .Net。按照这个链接

于 2013-06-14T16:24:37.657 回答