XML

XPath Beispiel

Suche in einem XML-Baum nach bestimmten Elementen.

XML Beispiel

<?xml version="1.0" encoding="UTF-8"?>
<a>
  <b>
    <id>asdf</id>
    <c>
      <d>text1</d>
    </c>
  </b>
  <b>
    <id>xyz</id>
    <c>
      <d>text2</d>
    </c>
  </b>
</a>

XPath Beispiel

a/b/id[text()="xyz"]/../c/d/text()

Ergebnis Beispiel

text2

XSLT Beispiel

Suchen und ersetzen

XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
<!-- gesamtes XML kopieren -->
<xsl:template match="@* | node()">
   <xsl:copy>
      <xsl:apply-templates select="@* | node()"/>
   </xsl:copy>
</xsl:template>
 
<!-- einzelnen Teil löschen -->
<xsl:template match="a/b/id[text()='asdf']" />
 
<!-- Text ersetzen -->
<xsl:template match="a/b/id[text()='xyz']/text()">text neu</xsl:template>
 
</xsl:stylesheet>

Ergebnis Beispiel

Folgendes Ergebnis erhält man bei Anwendung des XSLTs auf obiges XML Beispiel

<?xml version="1.0" encoding="UTF-8"?>
<a>
  <b>
    <c>
      <d>text1</d>
    </c>
  </b>
  <b>
    <id>text neu</id>
    <c>
      <d>text2</d>
    </c>
  </b>
</a>