Выпуск в отличной печати значения 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". Не меняй другой.

Другие вопросы по тегам