嗨,有谁知道hwo使用xpath删除attrbute。特别是来自链接的rel属性及其文本。即<a href='http://google.com' rel='some text'>Link</a>
,我想删除rel ='some text'。
我正在解析的html中会有多个链接。
答案 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");
}