如何通过前缀获取xml文件的名称空间(groovy)

如何通过前缀获取xml文件的名称空间(groovy),xml,groovy,namespaces,Xml,Groovy,Namespaces,我找到了大量如何向xml文件添加名称空间的示例,但没有找到如何从现有文件中获取名称空间的示例。我正在使用XmlParser。 说清楚,如果我有文件 <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> ... </wsdl> 我明白了 null null 有什么想法吗?两种方法: 使用Xml

我找到了大量如何向xml文件添加名称空间的示例,但没有找到如何从现有文件中获取名称空间的示例。我正在使用XmlParser。 说清楚,如果我有文件

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
...
</wsdl>
我明白了

null 
null
有什么想法吗?

两种方法:

  • 使用
    XmlSlurper
    并且不使名称空间不知道
Eg

  • 使用
    XmlParser
    并使命名空间不知道
Eg

我想第一种方法更适合你

null 
null
def wsdlRoot = new XmlSlurper().parseText( text )
assert wsdlRoot.lookupNamespace( 'soap' ) == 
       'http://schemas.xmlsoap.org/wsdl/soap/' 
def wsdlRoot = new XmlParser(false, false).parseText(xml)
assert wsdlRoot.@'xmlns:soap' == 'http://schemas.xmlsoap.org/wsdl/soap/'