我怎样才能打开下面的内容(大写字母标签,即<RSS>
和大写字母属性,即TYPE="audio/mpeg"
)
<RSS xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
<CHANNEL>
<title>Example Title</title>
<LINK>Example Link</link>
<atom:link HREF="http://example.com/feed" REL="self" TYPE="application/rss+xml"/>
<itunes:subtitle>Example subtitle with itunes namespace</itunes:subtitle>
<itunes:owner>
<itunes:name>OWNER NAME</itunes:name>
<itunes:email>owner@gmail.com</itunes:email>
</itunes:owner>
<ITEM>
<TITLE>Title Name here</TITLE>
<itunes:author>Author name here</itunes:author>
<ENCLOSURE TYPE="audio/mpeg" URL="http://www.podtrac.com/abc.mp3" LENGTH="31805"/>
</ITEM>
</CHANNEL>
</RSS>
进入此(小写字母标记,即<rss>
和小写字母属性,即type="audio/mpeg"
)
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
<channel>
<title>Example Title</title>
<link>Example Link</link>
<atom:link href="http://example.com/feed" rel="self" type="application/rss+xml"/>
<itunes:subtitle>Example subtitle with itunes namespace</itunes:subtitle>
<itunes:owner>
<itunes:name>OWNER NAME</itunes:name>
<itunes:email>owner@gmail.com</itunes:email>
</itunes:owner>
<item>
<title>Title Name here</title>
<itunes:author>Author name here</itunes:author>
<enclosure TYPE="audio/mpeg" url="http://www.podtrac.com/abc.mp3" length="31805"/>
</item>
</channel>
</rss>
使用XSLT?
备注:
<RSS>
到<rss>
和TYPE="audio/mpeg"
到type="audio/mpeg"
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
标记内<rss>
的第一行命名空间设置 - 必须保留<itunes:name>OWNER NAME</itunes:name>
- 这些项目必须保持完全相同答案 0 :(得分:2)
这在XSLT-1.0中提供了所需的结果:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xsl:output indent="yes" />
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<!-- lowercase'es all elements names and copies namespaces-->
<xsl:template match="*">
<xsl:variable name="rawName" select="substring-before(name(), ':')"/>
<xsl:element name="{translate(name(), $uppercase, $smallcase)}" namespace="{namespace-uri()}">
<xsl:copy-of select="namespace::*"/>
<xsl:apply-templates select="node()|@*"/>
</xsl:element>
</xsl:template>
<!-- lowercase'es all attribute names -->
<xsl:template match="@*">
<xsl:attribute name="{translate(name(), $uppercase, $smallcase)}">
<xsl:value-of select="." />
</xsl:attribute>
</xsl:template>
<!-- copies the rest -->
<xsl:template match="text() | comment() | processing-instruction()">
<xsl:copy/>
</xsl:template>
</xsl:stylesheet>