2014-05-22 42 views
0

我發現了很多示例如何將名稱空間添加到xml文件,但沒有任何如何從現有文件中獲取名稱空間。我正在使用XmlParser。 要清楚,如果我有一個文件如何通過前綴(groovy)獲取xml文件的名稱空間

<?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 [email protected]'xmlns:soap' 

我得到

null 
null 

任何想法?

回答

1

兩種方式:

  • 使用XmlSlurper,而不是使命名空間渾然不覺。

例如;

def wsdlRoot = new XmlSlurper().parseText(text) 
assert wsdlRoot.lookupNamespace('soap') == 
     'http://schemas.xmlsoap.org/wsdl/soap/' 
  • 使用XmlParser,使命名空間不知道

EG;

def wsdlRoot = new XmlParser(false, false).parseText(xml) 
assert [email protected]'xmlns:soap' == 'http://schemas.xmlsoap.org/wsdl/soap/' 

我想第一種方法對您更可取。

+0

謝謝!有用! – jasiustasiu

相關問題