我希望能够按指定节点名称将一个XML文档分成多个XML文档(类似于string.Split(...)函数)。
例如:我有以下XML文档。
<root>
<nodeA>
Hello
</nodeA>
<nodeA>
<nodeB>
node b Text
</nodeB>
<nodeImage>
image.jpg
</nodeImage>
</nodeA>
<nodeA>
node a text
</nodeA>
</root>
我希望将这个XML文档按照“nodeImage”拆分为3个部分,并保留原始的XML结构。(注意:名称为“nodeImage”的节点可能出现在任何位置)
1. “nodeImage”之前的XML
2. “nodeImage”节点的XML
3. “nodeImage”之后的XML
对于示例XML,结果应该是:
XML文档1:
<root>
<nodeA>
Hello
</nodeA>
<nodeA>
<nodeB>
node b Text
</nodeB>
</nodeA>
</root>
XML文档2:
<root>
<nodeA>
<nodeImage>
image.jpg
</nodeImage>
</nodeA>
</root>
XML文档3:
<root>
<nodeA>
node a text
</nodeA>
</root>
请问是否有适用于此需求的好算法或现有的代码示例?
更新说明:
如果xml文档中只有一个名称为“nodeImage”的节点,则该xml文档应始终拆分为3个xml文档。