XPATH удалить атрибут - PullRequest
       3

XPATH удалить атрибут

6 голосов
/ 15 марта 2010

Привет, кто-нибудь знает, как удалить атрибут с помощью xpath? В частности, атрибут rel и его текст по ссылке. то есть <a href='http://google.com' rel='some text'>Link</a> и я хочу удалить rel = 'некоторый текст'.

В html, который я анализирую, будет несколько ссылок.

Ответы [ 3 ]

5 голосов
/ 15 марта 2010

Вы можете выбирать элементы, используя xpath, но это все, что он может сделать - это язык запросов.

Вам необходимо использовать XSLT или анализатор XML для удаления атрибутов / элементов.

0 голосов
/ 15 марта 2010

Вы уже пытались использовать Javascript для этого, если это применимо в вашем сценарии: -

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

for(i=0;i<allLinks.length;i++)
{
allLinks[i].removeAttribute("rel");
}
0 голосов
/ 15 марта 2010

Как указал Одед, Xpath просто идентифицирует узлы XML. Чтобы удалить / отредактировать XML, вам понадобятся дополнительные инструменты.

Одним из решений является плагин на основе Ant XMLTask (заявление об отказе - я написал это). Он предоставляет простой механизм для чтения XML-файла, определения его частей с помощью XPath и изменения его (включая удаление узлов ).

, например

<remove path="web/servlet/context[@id='redundant']"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...