处理不包含XML名称空间的XPath查询?

桑杰·马诺哈(Sanjay Manohar)

用户正在输入相当复杂XPath的查询数据库。他们将只使用一个固定的名称空间进行查询。当前,用户必须输入如下表达式:

//ns:tag1/ns:tag2 | //ns:tag3/ns:*[not(ns:tag2)]

但是,这种语法很快变得过于复杂,并且需要更长的时间才能输入。对于不太熟悉xpath的用户来说,这也很容易出错。用户最好输入XPath不带名称空间的-

//tag1/tag2 | //tag3/*[not(tag2)]

对他们来说要容易得多!但是不适合我。我该如何处理这种表达?我确实知道需要插入的名称空间。有什么方法可以自动ns在Xpath表达式的适当位置插入我正在使用Python lxml还是可以设置默认名称空间?

请注意,这*[local-name() = 'entry']是不可能的!

编辑

在python中我正在打电话

currentNode.xpath(query, {'ns':'http://myaddress.com/userns'})

这里currentNode是一个etree.Element

迈克尔·凯(Michael Kay)

XPath 2.0通过允许您指定默认名称空间来解决此问题,该名称空间将应用于查询中所有未加前缀的元素名称。不幸的是,XPath 2.0尚不适用于Python用户。

一种替代方法是在用户查询文档之前先对其进行转换,以使其不使用任何名称空间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

评估不包含xml标记的XPath查询

来自分类Dev

xpath 无法处理源 xml 中的名称空间

来自分类Dev

解析包含名称空间的 XML

来自分类Dev

名称空间std ::不包含可选

来自分类Dev

是否需要在根元素中声明XML名称空间,以便XPath查询可以匹配它?

来自分类Dev

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

来自分类Dev

读取包含名称空间PowerShell的XML文件

来自分类Dev

在Powershell中处理XML名称空间

来自分类Dev

将xml转换为不包含soapEnvolpe和名称空间的名称,还使用xslt将名称空间添加到内部元素

来自分类Dev

具有名称空间的xpath查询根元素

来自分类Dev

在Python XPath查询中注册名称空间

来自分类Dev

在Spring JMS中定义不包含JMS名称空间的ListenerContainer

来自分类Dev

使用XPath选择XML节点时如何忽略名称空间

来自分类Dev

如何在xmlstarlet XPath中使用XML名称空间?

来自分类Dev

如何在XML名称空间中使用Scrapy XPath?

来自分类Dev

具有显式默认名称空间的XML文档的XPath和名称空间规范

来自分类Dev

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

来自分类Dev

使用XSLT查找XML文件是否包含特定的名称空间

来自分类Dev

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

来自分类Dev

XML XInclude在包含的节点中失去名称空间

来自分类Dev

查询XPath以查找不包含满足条件的元素的节点

来自分类Dev

XML包含多个名称空间-但只有一个名称空间

来自分类Dev

XSLT 处理具有多个名称空间的 XML

来自分类Dev

如何在SQL查询中解析多个名称空间xml

来自分类Dev

具有级联名称空间的SQL Server Xml查询

来自分类Dev

Linq使用非标准名称空间查询XML

来自分类Dev

MVC linq查询处理序列不包含任何元素的情况

来自分类Dev

如何使用XPath查找不包含属性的XML节点?

来自分类Dev

Xpath 不包含

Related 相关文章

  1. 1

    评估不包含xml标记的XPath查询

  2. 2

    xpath 无法处理源 xml 中的名称空间

  3. 3

    解析包含名称空间的 XML

  4. 4

    名称空间std ::不包含可选

  5. 5

    是否需要在根元素中声明XML名称空间,以便XPath查询可以匹配它?

  6. 6

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

  7. 7

    读取包含名称空间PowerShell的XML文件

  8. 8

    在Powershell中处理XML名称空间

  9. 9

    将xml转换为不包含soapEnvolpe和名称空间的名称,还使用xslt将名称空间添加到内部元素

  10. 10

    具有名称空间的xpath查询根元素

  11. 11

    在Python XPath查询中注册名称空间

  12. 12

    在Spring JMS中定义不包含JMS名称空间的ListenerContainer

  13. 13

    使用XPath选择XML节点时如何忽略名称空间

  14. 14

    如何在xmlstarlet XPath中使用XML名称空间?

  15. 15

    如何在XML名称空间中使用Scrapy XPath?

  16. 16

    具有显式默认名称空间的XML文档的XPath和名称空间规范

  17. 17

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

  18. 18

    使用XSLT查找XML文件是否包含特定的名称空间

  19. 19

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

  20. 20

    XML XInclude在包含的节点中失去名称空间

  21. 21

    查询XPath以查找不包含满足条件的元素的节点

  22. 22

    XML包含多个名称空间-但只有一个名称空间

  23. 23

    XSLT 处理具有多个名称空间的 XML

  24. 24

    如何在SQL查询中解析多个名称空间xml

  25. 25

    具有级联名称空间的SQL Server Xml查询

  26. 26

    Linq使用非标准名称空间查询XML

  27. 27

    MVC linq查询处理序列不包含任何元素的情况

  28. 28

    如何使用XPath查找不包含属性的XML节点?

  29. 29

    Xpath 不包含

热门标签

归档