2015-11-25 104 views
-1

我有下面的XML:合併XML元素

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

輸出:

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

我想在C#寫得到的結果作爲輸出,我該怎麼辦?

+3

和你有什麼想實現這一目標呢?你的C#代碼在哪裏? –

回答

0

在這個例子中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)); 
+0

感謝mortb回答:) – Piseth

1

創建這個類:

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; } 
    } 

} 

而且隨着XMLReader

分析XML但是你的XML是不是真的很好形成。 我推薦類似的東西:

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

不需要書籍和書籤。不同意,這是不正確的。 – jdweng

+0

Xavier W. - 感謝您的建議,如果我的XML輸出如此,那麼它對XSD無效 – Piseth