XmlSlurpur 元素 "something:element" 的前缀 "something" 未绑定

XmlSlurpur The prefix "something" for element "something:element" is not bound

我是这样使用 XmlSlurper 的:

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

当我吞下以下内容时 xml 它给出了一个错误:

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

我得到的错误是:

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

我真的不明白该怎么做才能解决这个问题。 有什么想法吗?

您需要在 XmlSlurper 上使用不同的构造函数才能通过 parseText 的 validation/namespace 感知。尝试:

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