XSLT如何遍历包含xml的cdata部分

时间:2012-01-23 15:47:46

标签: xml xslt-1.0 cdata

输入:

<store xmlns="test">
    <item>book</item>
    <info><![CDATA[<?xml version="1.0"?><value xmlns="value">
<price>11</price>
</value>]]>
    </info>
</store>

我想要输出如下

<value xmlns="value">
    <item>book</item>
    <price>11</price>
</value>

我可以实现吗?

1 个答案:

答案 0 :(得分:0)

  

我可以实现吗?

不在纯XSLT 1.0或XSLT 2.0中。

如果您等待拥有XSLT 3.0 XSLT处理器(仍然是W3C WD(工作草案)),那么您将能够使用名为 parse-xml() 的函数来解析将info的文本节点子节点转换为单独的XML文档。

在XSLT 1.0或2.0中,您需要编写一个扩展函数,当传递一个字符串(如info的值)时,将其解析为XML并将解析后的XmlDocument返回给转换。