簡體   English   中英

合並類似的xml文檔

[英]Merging similar xml documents

我有幾個XDocuments看起來像:

<Test>
  <element
      location=".\jnk.txt"
      status="(modified)"/>
 <element
     location=".\jnk.xml"
     status="(overload)"/>
</Test>

在C#中,我創建了一個新的XDocument:

XDocument mergedXmlDocs = new XDocument(new XElement("ACResponse"));

並嘗試添加其他XDocuments中的節點:

for (ti = 0; (ti < 3); ++ti)
{
    var query = from xElem in xDocs[(int)ti].Descendants("element")
        select new XElement(xElem);

    foreach (XElement xElem in query)
    { 
        mergedXmlDocs.Add(xElem);
    }
}

在運行時,我收到有關Add如何創建格式錯誤的文檔的錯誤。
我究竟做錯了什么?
謝謝...

(我看到了這個問題 - 合並XML文檔 - 但是創建一個XSLT轉換對於看似簡單的操作來說似乎有點麻煩。)

你很近。 試着換線

mergedXmlDocs.Add(xElem);

mergedXmlDocs.Root.Add(xElem);

問題是每個XML文檔只能包含1個根節點。 您現有的代碼正在嘗試添加根級別的所有節點。 您需要將它們添加到現有的頂級節點。

我不確定您使用的是哪種編程語言,但對於大多數編程語言,都有大量的XML支持類。 他們中的大多數允許解析甚至添加元素。 我將保留一個主文件,然后解析每個新文件,將新元素添加到主文件中。

編輯:對不起看起來你已經在做這件事了。

暫無
暫無

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

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