Выпуск в отличной печати значения xml
У меня есть 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: вызывает проблему. но не уверен, почему и как справиться с этим
1 ответ
Похоже, вам не хватает правильной спецификации пространства имен. Измените "xmlns" на "xmlns:mdsC" в элементе "mdsC:adf-mds-config". Не меняй другой.