Json 使用groovy将XML转换为映射
我有一些XML要转换成地图。我使用了将XML转换为JSON的中间方法,然后将JSON映射变灰:Json 使用groovy将XML转换为映射,json,groovy,xml-parsing,xml-namespaces,Json,Groovy,Xml Parsing,Xml Namespaces,我有一些XML要转换成地图。我使用了将XML转换为JSON的中间方法,然后将JSON映射变灰: import org.json.XML import groovy.json.JsonSlurper Map parseXml(String input) { String json = XML.toJSONObject(input).toString() new JsonSlurper().parseText(json) } 但当您使用名称间距时,它不会被删除 例如 但我希
import org.json.XML
import groovy.json.JsonSlurper
Map parseXml(String input) {
String json = XML.toJSONObject(input).toString()
new JsonSlurper().parseText(json)
}
但当您使用名称间距时,它不会被删除
例如
但我希望它最终是这样的:
{
"someObject": [
{
"something": "SOME_THING"
},
{
"something": "SOME_THING_ELSE"
}
]
}
有人知道我如何在不重新发明轮子的情况下实现这一点吗
我已经找到了一个和我的有点相似的,但它有一个不同的方法,这就是为什么我问我的问题。
我给出的例子只是一个例子,但是在另一篇文章中给出的答案中没有包含多个someObjects
。
其次,它确实在XML上进行迭代,并创建一个XML映射-这就是我所说的重新发明轮子的意思。我确信一定有一个库已经做到了这一点,所以对我来说,自己编写解析代码似乎是错误的
非常感谢可能的重复我将此标记为重复,因为我相信旧问题的答案在这种情况下会起作用。正如我所说的,我想相信已经有一个解析器为您完成了这项工作,因为我不想重新发明轮子。此外,我希望它是通用的,因此如果我得到一个新的xml属性,它应该自动被包括在内,而另一篇文章中的通用答案不包括根父级。
{
"ns2:someObject": {
"xmlns:ns2": "http://someLink",
"someOtherObject": [
{
"something": "SOME_THING"
},
{
"something": "SOME_THING_ELSE"
}
]
}
}
{
"someObject": [
{
"something": "SOME_THING"
},
{
"something": "SOME_THING_ELSE"
}
]
}