对于带命名空间定义的XML目标的处理
来源:互联网 发布:discuz 数据字典 编辑:程序博客网 时间:2024/04/29 20:01
许多RSS源都使用了rdf命名空间,因此在进行XSLT转换时必须明确指定命名空间。
以华尔街日报(http://cn.wsj.com/gbrsstest/rssall.xml?rand=7711219990160316)为例,进行分析
添加该目标后,获取的数据内容如下:
<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"> <channel rdf:about="http://cn.wsj.com"><title>所有新闻--华尔街日报</title>
其中在开头部分已经定义了rdf、dc、sy、taxo四个命名空间,另外xmlns="http://purl.org/rss/1.0/"作为缺省命名空间因此在书写配置文件时也需要把这些空间都指定上,尤其是缺省命名空间,由于没有特别指定名字,因此需要自己起一个名字,通常可以用default
<?xml version="1.0" encoding="UTF-8"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:default="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="1.0"> <xsl:template match="/"><news> <xsl:for-each select="//default:item"><item> <datetime><xsl:value-of select="default:pubDate/text()" /> </datetime> <url><xsl:value-of select="default:link/text()" /> </url> <title><xsl:value-of select="default:title/text()" /> </title></item> </xsl:for-each></news> </xsl:template></xsl:stylesheet>
此时就可以获得正确的解析转换。
- 对于带命名空间定义的XML目标的处理
- C#处理带命名空间的XML
- Flex中处理带命名空间的XML
- Flex中处理带命名空间的XML
- Flex中处理带命名空间的XML
- dom4j处理带命名空间的XML-使用XPath
- dom4j 解析带命名空间的XML
- 操作带 命名空间的xml
- .NET处理XML文件的命名空间
- dom4j中通过xpath处理带命名空间的XML文件
- dom4j中通过xpath处理带命名空间的XML文件
- XML——c#读取带命名空间的xml
- 处理带名称空间XML的XPATH
- XML的命名空间
- XML的命名空间
- xml不带命名空间的序列化
- 用dom4j解析带命名空间的xml文件
- C# 读取带xmlns 命名空间的XML
- c++ 数据共享
- c++无类型参数模板(non-type template parameter)
- HDOJ 1001
- struts2配置常见异常
- ios 基础的整理
- 对于带命名空间定义的XML目标的处理
- [转]gridview获取当前行索引的方法
- operator new在C++中的各种写法
- c++语法
- Eclipse安装SVN插件方式简明介绍
- linux下用户和组的管理及特殊权限的设置
- 一个批处理,针对android系统的一些处理
- SOA分析
- Android--Gallery,画廊