проблема в печати значения groovy 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: вызывает проблему. но не уверен, почему и как с этим справиться


person Vik    schedule 28.05.2016    source источник


Ответы (1)


Похоже, вам не хватает правильной спецификации пространства имен. Измените «xmlns» на «xmlns:mdsC» в элементе «mdsC:adf-mds-config». Не меняйте другой.

person David M. Karr    schedule 28.05.2016
comment
я не могу изменить входной файл - person Vik; 31.05.2016
comment
Это неудачно. Ваш входной файл XML недействителен. - person David M. Karr; 31.05.2016