C# 合并XML元素

C# 合并XML元素,c#,xml,C#,Xml,我有以下XML: <Books> <Title>Book 1</Title> <Author>A</Author> </Books> <Books> <Title>Book 2</Title> <Author>B</Author> </Books> 第一册 A. 第二册 B 输出: <Books>

我有以下XML:

<Books>
    <Title>Book 1</Title>
    <Author>A</Author>
</Books>
<Books>
    <Title>Book 2</Title>
    <Author>B</Author>
</Books>

第一册
A.
第二册
B
输出:

<Books>
    <Title>Book 1</Title>
    <Author>A</Author>
    <Title>Book 2</Title>
    <Author>B</Author>
</Books>

第一册
A.
第二册
B
我想用C语言编写#要将结果作为输出,我应该怎么做?

创建这个类:

using System;
using System.Xml.Serialization;
using System.Collections.Generic;
namespace Xml2CSharp
{
    [XmlRoot(ElementName="Books")]
    public class Books {
        [XmlElement(ElementName="Title")]
        public List<string> Title { get; set; }
        [XmlElement(ElementName="Author")]
        public List<string> Author { get; set; }
    }

}
使用系统;
使用System.Xml.Serialization;
使用System.Collections.Generic;
名称空间Xml2CSharp
{
[XmlRoot(ElementName=“Books”)]
公共课用书{
[xmlement(ElementName=“Title”)]
公共列表标题{get;set;}
[xmlement(ElementName=“Author”)]
公共列表作者{get;set;}
}
}
并使用

但是您的XML格式不是很好。 我建议这样做:

<Books>
<Book>
<Title>Book 1</Title>
    <Author>A</Author>
</Book>
<Book>    
    <Title>Book 2</Title>
    <Author>B</Author>
    </Book>
 </Books>

第一册
A.
第二册
B

在本例中,
newDoc
将包含您想要的内容

var xml = @"
<xml>
    <Books>
        <Title>Book 1</Title>
        <Author>A</Author>
    </Books>
    <Books>
        <Title>Book 2</Title>
        <Author>B</Author>
    </Books>
</xml>";

var originalElements = XDocument.Parse(xml).Root.Elements("Books").Descendants();
var newDoc = new XDocument(new XElement("Books", originalElements));
var xml=@”
第一册
A.
第二册
B
";
var originalElements=XDocument.Parse(xml.Root.Elements(“Books”).subjects();
var newDoc=新的XDocument(新的元素(“书籍”,原始元素));

您是如何做到这一点的?你的c代码在哪里?不需要书籍和书籍标签。不同意这是格式不好的。Xavier W。-感谢您的建议,如果我的XML输出是这样的,那么它对XSD无效