我发现了无数的示例,这些示例如何将命名空间添加到xml文件中,却找不到如何从现有文件中获取命名空间的示例。我正在使用XmlParser。要明确的是,如果我有文件
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
...
</wsdl>
我有前缀soap
然后我想得到http://schemas.xmlsoap.org/wsdl/soap/
结果
当我使用时:
def wsdlRoot = new XmlParser().parseText(text)
println wsdlRoot.attribute('xmlns:soap')
println wsdlRoot.@'xmlns:soap'
我懂了
null
null
有任何想法吗?
两种方式:
XmlSlurper
并且不使名称空间不引起注意。例如;
def wsdlRoot = new XmlSlurper().parseText( text )
assert wsdlRoot.lookupNamespace( 'soap' ) ==
'http://schemas.xmlsoap.org/wsdl/soap/'
XmlParser
和使名称空间不引起注意例如;
def wsdlRoot = new XmlParser(false, false).parseText(xml)
assert wsdlRoot.@'xmlns:soap' == 'http://schemas.xmlsoap.org/wsdl/soap/'
我认为第一种方法对您来说更可取。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句