使用XSL从XML中提取CDATA
我不是程序员,但需要一些帮助来找到一种使用XSL在CDATA中显示XML内容的方法。例如,以下行:使用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> 选择您认为正确的选项。]> 我只需
<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结果文档,然后可以在浏览器窗口中加载和显示,如果需要或需要的话。