我试图使用XSL获取
XML节点的CDATA内容.该
节点目前看起来像这样:
节点目前看起来像这样:
<node id="1" text="Book information" ><![CDATA[This is sample text]]></node>
我需要这是示例文本片段.有没有人对此有任何想法?
提前致谢.
好吧,如果我使用这个样式表:
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:template match="node/text()"> <xsl:copy/> </xsl:template> </xsl:stylesheet>
<?xml version="1.0" encoding="utf-8"?> <node id=1 text="Book information" ><![CDATA[This is sample text]]></node>
在属性值(id =“1”)周围加上引号并重新运行样式表,我得到输出:
This is sample text
所以有一个开始.基本上,只需将CDATA视为文本节点,即可开始使用.
你说:
I found something like:
<xsl:output cdata-section-elements="text"/>
and then to fetch CDATA:
<xsl:value-of select="node" />
如果您正在使用value-of,这种方法也可以正常工作.这里将是您的评论中的一个示例,使用value-of.但请注意,cdata-section-elements仅适用于输出端,指示要将哪些输出XML元素打印为CDATA节而不是普通的旧字符数据.它与获取数据无关.
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output cdata-section-elements="foo"/> <xsl:template match="/"> <foo> <xsl:value-of select="node"/> </foo> </xsl:template> </xsl:stylesheet>
打印出来
<?xml version="1.0"?> <foo><![CDATA[This is sample text]]></foo>
原文地址:https://www.jb51.cc/xml/292056.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。