XmlSlurpur The prefix “something” for element “som

2019-08-05 10:06发布

I am using XmlSlurper like so:

  def slurper = new XmlSlurper().parseText(xmlObj.lensData).declareNamespace(something:'something')

when i slurp the following xml it give an error:

 <something:Data>
      <something:Requirements>
            <something:Type>
                <something:Value>T</something:Value>
                <something:Label>TYP</something:Label>
            </something:Type>
      </something:Requirements>
 </something:Data>

the error i get is:

The prefix "something" for element "something:Data" is not bound.. Stacktrace follows:
Message: The prefix "something" for element "something:Data" is not bound.

I don't really understand what t do to fix this. Any ideas?

1条回答
Deceive 欺骗
2楼-- · 2019-08-05 10:26

You need to use a different constructor on the XmlSlurper in order to get past parseText's validation/namespace awareness. Try:

def slurper = new XmlSlurper(false, false).parseText(xmlObj.lensData).declareNamespace(something:'something')

http://docs.groovy-lang.org/docs/latest/html/gapi/groovy/util/XmlSlurper.html

查看更多
登录 后发表回答