我有一个这样的节点:
<meta name="og:description" content="Here's the content" />
Run Code Online (Sandbox Code Playgroud)
我希望能够选择此元素,如果名称是"描述",无论它是否在命名空间中.如果它的名称是"og:description","description","blah:description"等,我需要能够选择元标记.
我已经看到了xpath的资源,它展示了如何在命名空间中进行选择,但不管命名空间如何.
Dim*_*hev 13
用途:
//meta[@*[local-name() = 'description']]
Run Code Online (Sandbox Code Playgroud)
这将选择metaXML文档中具有local-name属性的所有元素"description".
根据定义,标准XPath函数local-name()生成从中剥离名称空间前缀(如果有)的节点的名称.
请注意://如果XML文档的结构是静态已知的,请始终避免使用伪运算符.经常使用//导致执行缓慢.
使用XPath 2你可以做到:
/meta[ends-with(@name, 'description')]
Run Code Online (Sandbox Code Playgroud)
对于XPath 1,我们需要:
/meta['description' = substring(@name, string-length(@name) - string-length('description') + 1)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8279 次 |
| 最近记录: |