XPATH如何获取带命名空间节点取值

nandy007
   2013-08-23 14:18:34发布  2017-02-22 14:44:38更新 0收藏, 3127浏览
WebAPP技术
0

平台中提供了xpath的相关取值标签和函数,当数据源中的xml存在命名空间时,应该注意xpath的写法,写法应注意以下几点:

1.       xpath取值节点和属性都必须是小写;

2.       xpath取值必须通过//*[local-name()=’XXX’]来获取节点;

xml取值示例,数据源如下:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:chan="http://www.fiberhome.com/ChannelAccess/">

<soapenv:Header/>

<soapenv:Body>

<chan:NotifyGatherMessage>

<ChannelId>c1</ChannelId>

<Username>xiaoming</Username>

<Password>123456</Password>

<Title>test</Title>

</chan:NotifyGatherMessage>

</soapenv:Body>

</soapenv:Envelope> 

xpath取值方法:

aa.xpath("//*[local-name()='notifygathermessage']/username/text()","d1") 

下载APP
扫码下载栗子社区APP