我有一个看起来像这样的XML。
<?xml version="1.0" encoding="UTF-8"?>
<header>
<row>
<item1>stuff</item1>
<item2>stuff</item2>
</row>
<row>
<item1>stuff</item1>
<item2>stuff</item2>
</row>
...
</header>
我想读这个
def doc = new XmlSlurper().parseText(message)
然后将每个“行”元素作为单独的消息输出。例如:
<header>
<row1>
<item1>stuff</item1>
<item2>stuff</item2>
</row1>
</header>
在Groovy中执行此操作的正确方法是什么?我应该使用XSLT还是使事情变得过于复杂?
如果您的情况确实如此简单,那么我会选择Groovy,它在这种情况下确实很有用。
final xml = '''
<header>
<row>
<item1>stuff11</item1>
<item2>stuff12</item2>
</row>
<row>
<item1>stuff21</item1>
<item2>stuff22</item2>
</row>
</header>
'''
final xmlDoc = new XmlSlurper().parseText(xml)
阅读文档后,为每一行构造一个文档
def rowId = 1
String singleRow = new StreamingMarkupBuilder().bind {
header {
"row$rowId" {
mkp.yield xmlDoc.row[rowId-1].children()
}
}
}
完成了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句