xpath常用函数之string和contains函数

2017-11-06  本文已影响0人  tonyemail_st

string和contains函数

>>>treedata = etree.XML('<test><item>Apple <b>hello</b> tree</item><item>Banana</item><item>Orange</item></test>')
>>>treedata.xpath('string(/test)')
'Apple hello treeBananaOrange'
>>> treedata.xpath('contains(//text(), "Banana")')
False

返回值 false。 在此示例中,出现这种情况的原因是,第一个参数(“//text()”)使用 string(//text()) 转换为字符串,只会搜索第一个节点字符串(“Apple”)。 反之,如果 contains() 函数修改为第一个参数使用点选择符(“.”),如下所示:

>>> treedata.xpath('//text()')
['Apple ', 'hello', ' tree', 'Banana', 'Orange']
>>> treedata.xpath('contains(., "Banana")')
True
上一篇 下一篇

猜你喜欢

热点阅读