[英]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.