XPATH删除属性

时间:2010-03-14 22:02:44

标签: xpath

嗨,有谁知道hwo使用xpath删除attrbute。特别是来自链接的rel属性及其文本。即<a href='http://google.com' rel='some text'>Link</a>,我想删除rel ='some text'。

我正在解析的html中会有多个链接。

3 个答案:

答案 0 :(得分:5)

您可以使用xpath 选择项目,但这就是它可以做的全部 - 它是一种查询语言。

您需要使用XSLT或XML解析器来删除属性/元素。

答案 1 :(得分:0)

正如Oded所指出的,Xpath只识别XML节点。要删除/编辑XML,您需要一些额外的工具。

一个解决方案是基于Ant的插件XMLTask(免责声明 - 我写了这个)。它提供了一种简单的机制来读取XML文件,使用XPath识别部分内容并进行更改(包括removing nodes)。

e.g。

<remove path="web/servlet/context[@id='redundant']"/>

答案 2 :(得分:0)

您是否已经尝试过使用Javascript如果这适用于您的方案: -

var allLinks=document.getElementsByTagName("a");

for(i=0;i<allLinks.length;i++)
{
allLinks[i].removeAttribute("rel");
}