【发布时间】:2020-08-25 19:06:45
【问题描述】:
xml1:
<filters>
<folder>
<text>
FOLDER1
</text>
<filter>
<text>
FILTER1
</text>
<value>X</value>
</filter>
<filter>
<text>
FILTER2
</text>
<value>X</value>
</filter>
</folder>
</filters>
xml2:
<filters>
<folder>
<text>
FOLDER2
</text>
<filter>
<text>
FILTER3
</text>
<value>X</value>
</filter>
<filter>
<text>
FILTER4
</text>
<value>X</value>
</filter>
</folder>
</filters>
xml3:
<filters>
<folder>
<text>
FOLDER1
</text>
<filter>
<text>
FILTER5
</text>
<value>X</value>
</filter>
<filter>
<text>
FILTER6
</text>
<value>X</value>
</filter>
</folder>
</filters>
我想像这样合并:
<filters>
<folder>
<text>
FOLDER1
</text>
<filter>
<text>
FILTER1
</text>
<value>X</value>
</filter>
<filter>
<text>
FILTER2
</text>
<value>X</value>
</filter>
<filter>
<text>
FILTER5
</text>
<value>X</value>
</filter>
<filter>
<text>
FILTER6
</text>
<value>X</value>
</filter>
</folder>
<folder>
<text>
FOLDER2
</text>
<filter>
<text>
FILTER3
</text>
<value>X</value>
</filter>
<filter>
<text>
FILTER4
</text>
<value>X</value>
</filter>
</folder>
</filters>
我想使用 2 个特定的 xml 节点。有时我必须添加新的“文件夹”,但如果我有相同的“文件夹”(根据文件夹文本数据),我想添加到这个“文件夹”中。像xml3。可能吗?我怎样才能做到?它有办法吗? 我合并了这些 xml 文件,但就像一个新的“文件夹”一样。我无法按我的意愿合并。
【问题讨论】:
-
我读过这个。所以这样写: var xml1 = XDocument.Load(xml1); var xml2 = XDocument.Load(xml2); xml1.Descendants("文件夹").LastOrDefault().AddAfterSelf(xml2.Descendants("文件夹")); xml1.保存(xml1);但是当我有相同的“文件夹”时,写为不同的节点。我不要它。