我有一个以下结构的XML文档。我正在编写一个转换,希望输出节点B中的文本,但忽略元素C和文本节点"title"。基本上,我想提取文本"text goes here"并在新元素中输出它,并使所有空格标准化。有人能帮忙吗?以下是我已经尝试过的内容。
问题:元素之间的空格会被保留,因此我得到类似于以下内容:
我也尝试在解决方案A的模板中使用value-of语句(
我应该提到,我已经使用以下代码覆盖了默认的文本处理模板:
Input Doc
<A>
<B>
<C>title</C>
text goes here
</B>
</A>
Required output doc
<d>text goes here</d>
Solution A:
<xsl:template match="B">
<d>
<xsl:copy-of select="./text()"/>
</d>
</xsl:template>
问题:元素之间的空格会被保留,因此我得到类似于以下内容:
<d>
Text goes here
</d>
我也尝试在解决方案A的模板中使用value-of语句(
<xsl:value-of select="./text()"/>
),但是这并没有返回任何文本。这个语句有问题吗?我应该提到,我已经使用以下代码覆盖了默认的文本处理模板:
<xsl:template match="text()" />
谢谢
B/child::text()
和value-of select="normalize-space(.)"
以及其他一些组合,但好像对我不起作用。 - Rookie Programmer Aravind