我在使用 XMLSlurper 更新 XML 文档时遇到了麻烦。大多数事情都有效,但在某些情况下,“查找”找不到我刚刚附加的节点(appendNode)。新节点在处理结束时就在那里,但在我添加子节点时找不到。
我发现一篇关于 XMLSlurper 的帖子说找到新节点需要再次调用 parseText 和/或 StreaMarkupBuilder(见下文)。真的?!这看起来很笨拙,以至于我想我会在 SO 上进行验证。
这是一个代码片段。即使刚刚添加了节点,“查找”也会得到 NoChildren。
codeNode.appendNode {
'lab:vendorData'() {}
}
vendorNode = codeNode.children().find { it.name() == "vendorData" }
“appendNode 不会直接修改 slurped 文档。当使用 StreamingMarkupBuilder 写出文档时,会“即时”应用编辑。” http://markmail.org/message/5nmxbhwna7hr5zcq#query:related%3A5nmxbhwna7hr5zcq+page:1+mid:bkdesettsnfnieno+state:results
为什么我找不到我的新节点?!