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

贾斯塔斯塔苏

我发现了无数的示例,这些示例如何将命名空间添加到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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取样式表中定义的名称空间前缀,而不是从输入XML中获取

使用Unmarshal在Go中获取XML名称空间前缀

XML错误:前缀未绑定到名称空间,KML文件

如何用内联xmlns声明替换XML名称空间前缀?

如何使用XSLT删除特定xml元素的名称空间前缀?

如何使用Xstream从xml删除名称空间前缀?

XML名称空间前缀冲突的XPath行为

如何通过Python的ElementTree生成XML文件,并在输出中写入注册的名称空间

在Eclipse的XHTML + XML文件中搜索并替换XML名称空间前缀

如何使用python获取具有默认名称空间的xml文件中所有元素的xpath?

使用XQuery检查是否在整个文件中重新定义了XML文档的名称空间前缀

如何在JAVA中编码默认名称空间和带有单个XML元素前缀的名称空间

抑制 XML 文件中的命名空间前缀

在具有名称空间前缀的元素内创建不带名称空间前缀的XML元素

如何通过包含名称空间信息来创建XML元素?

如何在 PHP Xpath 中获取带有命名空间前缀的元素名称

如何在Java中使用DOM获取目标名称空间及其前缀?

如何在不带前缀的情况下使用某些XML名称空间标签?

如何在PowerShell中将XML名称空间添加为属性前缀?

如何在PHP中使用SimpleXMLElement生成以名称空间为前缀的xml元素

如何从 xml 中删除前缀/命名空间

如何从XML文件获取名称

LXML名称空间前缀

使用XSD验证XML文件时如何使用名称空间

如何将2个xml文件与名称空间合并

解析XML文件时如何处理默认名称空间

如何使用包含多个名称空间的spark读取XML文件?

XML:从名称空间生成带有前缀的标签

XML中是否可以有多个名称空间前缀?