提问人:Suwandi Cahyadi 提问时间:10/4/2023 更新时间:10/4/2023 访问量:17
Groovy XmlSlurper appendNode 仅子内容
Groovy XmlSlurper appendNode of child content only
问:
我有以下xml对象:
def slurper = new XmlSlurper()
def xmlObject = slurper.parseText("<root />")
def xmlObject2 = slurper.parseText("<root2><child1>hello</child1><child2>world</child2></root2>")
现在,目标是具有以下 XML 格式:
<root>
<root2>
<child1>hello</child1>
<child2>world</child2>
<root2>
</root>
如果我像这样使用 appendNode:
xmlObject.appendNode {
root2(xmlObject2)
}
我会得到:
<root>
<root2>
<root2>
<child1>hello</child1>
<child2>world</child2>
<root2>
<root2>
</root>
我会有 2 个 root2。如何只附加子内容的 Node?还是没有任何标签名称的 appendNode?
谢谢。
答:
1赞
Andrej Istomin
10/4/2023
#1
为什么不直接将节点添加为 ?这是我想出的:xmlObject.appendNode(xmlObject2)
import groovy.xml.XmlUtil
def slurper = new XmlSlurper()
def xmlObject = slurper.parseText("<root />")
def xmlObject2 = slurper.parseText("<root2><child1>hello</child1><child2>world</child2></root2>")
xmlObject.appendNode(xmlObject2)
println XmlUtil.serialize(xmlObject)
它产生:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<root2>
<child1>hello</child1>
<child2>world</child2>
</root2>
</root>
看起来像你想要的结果。我希望它有所帮助。
评论