Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 获取CDATA内容(幻灯片放映)_Xml_Xslt - Fatal编程技术网

Xml 获取CDATA内容(幻灯片放映)

Xml 获取CDATA内容(幻灯片放映),xml,xslt,Xml,Xslt,我有一个用这个表示的XML。我可以通过xsl访问标题和链接,如下所示 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:media="http://search.yahoo.com/mrss/"> <xsl:output method="xml" inde

我有一个用这个表示的XML。我可以通过xsl访问标题和链接,如下所示

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    xmlns:media="http://search.yahoo.com/mrss/">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="/">
        <rss xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
            <channel>
                <author>
                    <xsl:text>Content-Feed-Pics</xsl:text>
                </author>
                <xsl:for-each select="rss/channel/item[position() &lt; 30]">
                    <item>
                        <title><xsl:value-of select="title"/></title>
                        <!--author><xsl:value-of select="dc:rss/dc:channel/dc:item/dc:creator"/></author-->
                       <!--icon>
                       <xsl:value-of select="concat(entities/media//media_url,':thumb')"/>                    
                       </icon-->


                        <link><xsl:value-of select="link"/></link>
                        <description><xsl:value-of select="description"/></description>
                        <pubDate><xsl:value-of select="pubDate"/></pubDate>
                    </item>
                </xsl:for-each>
            </channel>
        </rss>
    </xsl:template>


</xsl:stylesheet>
​

内容提要图片
​
这两个问题是获取节点的CDATA内容,该内容是%%内的幻灯片。 第二个问题是,有些节点与名称空间类似并具有名称空间。我尝试将dc:namespace添加到路径中的所有节点,但没有访问这些节点


请建议

对于获取CDATA,您不需要做任何特殊的事情,这只是一种转义XML文本的方法。只需获取节点的值,即通过执行
,即可获得其中的任何数据。请注意,未切换的CDATA将以这种方式输出。要在输出中再次使用CDATA,请将
CDATA元素
属性添加到
(但不确定XSLT 1.0中是否已经提供了该属性)

要使用名称空间,还必须使用
xmlns:xx
绑定名称空间,其中
xx
是前缀。之后,您可以在XPath NameTest表达式中使用该前缀


若要在任何名称空间中获取元素,请使用
*:elementname

如果您查看提要API有一个描述标记,您认为幻灯片本身是一个内容还是一个变量,可以使用某种xsl引用文本。@user3255127:我不知道。description元素可以包含任何内容。它放在CDATA
CDATA
中是不相关的,没有它也会完全一样。描述通常是一种描述。如果不是,则有人正在滥用某个字段来获取它不打算用于的内容。您应该咨询提要的所有者,以获得任何“更高”的含义。