使用XSL从XML中提取CDATA

使用XSL从XML中提取CDATA,xml,xslt,Xml,Xslt,我不是程序员,但需要一些帮助来找到一种使用XSL在CDATA中显示XML内容的方法。例如,以下行: <property id="instruction1" media="screen"><![CDATA[<p>Select the <span class="bold">option</span> you think is correct.</p>]]></property> 选择您认为正确的选项。]> 我只需

我不是程序员,但需要一些帮助来找到一种使用XSL在CDATA中显示XML内容的方法。例如,以下行:

<property id="instruction1" media="screen"><![CDATA[<p>Select the <span class="bold">option</span> you think is correct.</p>]]></property>
选择您认为正确的选项。

]>
我只需要显示

标记之间的文本,即
选择您认为正确的选项。

如果有一种方法可以排除粗体格式标签,使其显示为“选择您认为正确的选项”,那就太好了

如果需要,我可以发布更多/所有XML代码

非常感谢 Niall

使用纯XSLT 3.0(需要Saxon 9.5的商业版),您只需

<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="property[@media = 'screen']">
  <xsl:value-of select="parse-xml-fragment(.)"/>
</xsl:template>

</xsl:stylesheet>


它使用
parse xml fragment
解析
property
元素的内容,然后简单地输出字符串值(这是一种剥离所有元素的方法,如
p
span
元素).

在发布问题之前,您是否搜索过一些?您使用或可以使用哪个XSLT处理器?macfij:过去几天我一直在搜索解决方案。我发现了类似的问题,但没有解决我的具体问题的方法。马丁:对不起,我可能应该指定我想尝试编写一个XLS来在浏览器窗口中显示XML内容。谢谢你,马丁。不过,请参见前面的评论,我想尝试编写一个XLS来在浏览器窗口中显示XML内容。Saxon 9.5是一个XSLT 2.0和3.0处理器,它不在浏览器内部工作,您可以在浏览器外部运行它来创建一个HTML结果文档,然后可以在浏览器窗口中加载和显示,如果需要或需要的话。