我有以下xml,我需要提取节点外的文本"对齐"。
<html><head><title>test</title></head><body><p><justificado><negrita>TEST.- </negrita>Hello people <negrita>it is</negrita><negrita>,</negrita> fa test ./justificado></p></body></html>
我试过以下
但没有成功<xsl:template match="not (*/negrita[preceding-sibling::*[1]self::negrita]])">test-123</xsl:template>
答案 0 :(得分:1)
我需要提取节点之外的文本“对齐”。
XSLT样式表的default behavior是复制所有文本节点 - 因此,为了提取特定元素之外的所有文本,您只需要一个与内部的文本节点匹配的空模板指定的元素:
XSLT 1.0
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="UTF-8"/>
<xsl:template match="text()[ancestor::justificado]"/>
</xsl:stylesheet>
应用于您的示例输入(在更正结束</justificado>
标记之后!),结果为:
test