мне нужна помощь, чтобы превратить этот XML-документ:Удалить определенный текст между тегами XML
<root>
<tree>
<leaf>Hello</leaf>
ignore me
<pear>World</pear>
</tree>
</root>
к этому:
<root>
<tree>
<leaf>Hello</leaf>
<pear>World</pear>
</tree>
</root>
Пример упрощен, но в принципе, я мог бы либо удалить все экземпляры «игнорировать меня» или все, что не внутри листа или груши.
Я только придумать с этим XSLT, который копирует почти все:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" standalone="yes"/>
<xsl:template match="root|tree">
<xsl:element name="{name()}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="leaf|pear">
<xsl:element name="{name()}">
<xsl:copy-of select="child::node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
То, что я узнал, как использовать XSL: вызов-шаблон, чтобы удалить текст внутри листа или груши элемент, но это не работает для вещей внутри дерева элемент.
Заранее спасибо.
Принято для простоты. Они оба очень хорошие ответы, в зависимости от конкретной ситуации. –