2010-03-14 16 views
5

Ciao qualcuno sa come rimuovere un attrbute usando xpath. In particolare l'attributo rel e il suo testo da un link. Ad esempio <a href='http://google.com' rel='some text'>Link</a> e voglio rimuovere rel = 'some text'.XPATH remove attribute

Ci saranno più collegamenti nell'html che sto analizzando.

risposta

5

È possibile selezionare elementi utilizzando xpath, ma questo è tutto ciò che può fare - è un linguaggio di query.

È necessario utilizzare XSLT o un parser XML per rimuovere attributi/elementi.

0

Come indicato da Oded, Xpath identifica semplicemente i nodi XML. Per rimuovere/modificare XML, hai bisogno di alcuni strumenti aggiuntivi.

Una soluzione è il plug-in AntXMLTask (disclaimer - Ho scritto questo). Fornisce un semplice meccanismo per leggere un file XML, identificarne parti utilizzando XPath e modificarlo (incluso removing nodes).

ad es.

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

Avete già provato utilizzando Javascript per questo caso che si applica nel vostro scenario: -

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

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