我的xml看起来像
<?xml version="1.0" encoding="UTF-8"?>
<pnode>
<mdsC:adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config">
<mds-config xmlns="http://xmlns.oracle.com/mds/config">
<persistence-config>
<metadata-namespaces>
<namespace path="/soa/shared" metadata-store-usage="mstore-usage_1"/>
</metadata-namespaces>
</persistence-config>
</mds-config>
</mdsC:adf-mds-config>
</pnode>
我正在尝试打印元数据命名空间子项,如下所示:
def destXml = new XmlSlurper(false,false).parse("above xml file")
println "${groovy.xml.XmlUtil.serialize(destXml.'adf-mds-config'.'mds-config'.'persistence-config'.'metadata-namespaces')}"
但它会引发异常,如:
[Fatal Error] :2:1: Premature end of file.
ERROR: 'Premature end of file.'
Caught: groovy.lang.GroovyRuntimeException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 1; Premature end of file.
groovy.lang.GroovyRuntimeException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 1; Premature end of file.
at mergeAdfConfig$_run_closure6.doCall(mergeAdfConfig.groovy:143)
at mergeAdfConfig$_run_closure6.doCall(mergeAdfConfig.groovy)
at mergeAdfConfig$_run_closure7.doCall(mergeAdfConfig.groovy:205)
at mergeAdfConfig.run(mergeAdfConfig.groovy:190)
根据我的观察,前缀mdsC:导致问题。但不知道为什么以及如何处理这个
答案 0 :(得分:-1)
看起来你错过了一个合适的命名空间规范。在“mdsC:adf-mds-config”元素中将“xmlns”更改为“xmlns:mdsC”。不要改变另一个。