2012-04-03 7 views
0

ich folgende XML-Datei haben:a href Tag aus cdata Entfernen

<ab> 
<![CDATA[ 

    <table> 
     <tbody> 
      <tr> 
       <th>abcdef</th>    
      </tr> 
      <tr> 
      <p> 
       <a href="/1/2" target="_blank">Home</a> 
      </p> 
      </tr> 
     </tbody> 
    </table> 
]]> 
</ab> 

ich die a href-Tag entfernen möchten, die Verknüpfung von 1/2 hat. Wie im obigen Beispiel möchte ich die a href-Verknüpfung mit Xpath entfernen und nur Text lassen: Home.

Antwort

1

CDATA ist nur eine Zeichenfolge aus beliebigem Text, bis Sie es verarbeiten.

So:

  1. Extrahieren Sie das textNode Kind <ab>
  2. führen Sie es durch einen HTML-Parser
  3. Run XPath auf der Ausgabe von dem Parser
+0

es sich lohnt, das alles tun? Oder sollte ich nur regulären Ausdruck verwenden, um nach dem bestimmten href-Tag zu suchen? – NoviceMe

+0

An [Parsing HTML mit regulären Ausdrücken] (http://Stackoverflow.com/a/1732454/19068) – Quentin

+0

@ Quentin- Was ist, wenn es mehr Knoten in Xml, die gleiche href-Tag haben, die ich will? Was ist der beste Weg, das zu tun? Entschuldige, dass du dich weiter anhörst. – NoviceMe