`
canofy
  • 浏览: 828842 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

xml的解析例子

阅读更多
xml解析的一个例子,如下所示:
#!/usr/bin/env python
#-*-coding:utf-8-*-
import xml.sax.handler
class TestHander(xml.sax.handler.ContentHandler):
    def __init__(self):
        self.mapping={}
        self.content=""
        
    #标签的开始    
    def startElement(self, name, attributes):
        self.buffer=""
        #if name=="link":
        #    self.mapping[self.buffer.encode("utf-8")]=""
        
    #数据内容        
    def characters(self, data):
        self.buffer+=data+"\n"
    
    #标签的结束 ,在这里可以做数据的处理等   
    def endElement(self, name):
        ss=self.buffer        
        if name=="title":
            self.content+=deleteCharacter(u"标题:"+ss);
            #print self.buffer.encode("utf-8")
        if name=="link":
            self.content+=deleteCharacter(u"链接地址:"+ss);
            #print self.buffer.encode("utf-8")
        if name=="description":
            self.content+=deleteCharacter(u"内容:"+ss);
            #print self.buffer.encode("utf-8")
        if name=="pubDate":
            self.content+=deleteCharacter(u"发布时间:"+ss);
            #print self.buffer.encode("utf-8")    
    
def deleteCharacter(string):
    ret=""
    #sub=("&nbsp","","nbsp;","","<br />","\n","<br/>","\n","<p>","","</p>","")
    ret=string.encode("utf-8")
    ret=ret.replace("&nbsp;","")
    ret=ret.replace("nbsp;","")
    ret=ret.replace("<br />","\n")
    ret=ret.replace("<br/>","\n")
    ret=ret.replace("<p>","")
    ret=ret.replace("</p>","")
    return ret

if __name__=="__main__":
    import xml.sax.handler
    parser=xml.sax.make_parser()
    hander=TestHander()
    parser.setContentHandler(hander)
    parser.parse("http://blog.sina.com.cn/rss/soundfragment.xml")
    #parser.parse("c:\\rss.xml")
    #print hander.content
    #写入文件
    file_path="c:\\wt.txt";
    infile=file(file_path,"w")
    infile.write(hander.content)
    infile.close()
    #parser.parse(unicode(file('c:\\rss.xml', 'r', 'utf-8').read(),'utf-8').encode('utf-8'))
    
分享到:
评论

相关推荐

    自己写的一个linux下的xml解析例子

    这个例子“自己写的一个linux下的xml解析例子”旨在帮助初学者理解如何利用libxml2库来解析XML文档。下面将详细介绍libxml2库的基本使用、XML解析的过程以及如何在Linux下实现这个过程。 首先,libxml2库提供了多种...

    xml解析例子得到各个节点信息

    以下是一些关于XML解析的重要知识点: 1. **DOM解析器**: DOM(文档对象模型)解析器将整个XML文档加载到内存中,形成一个树形结构,方便通过节点遍历获取信息。例如,使用Java的`javax.xml.parsers....

    android json与xml解析 例子 demo

    在Android中,有两种主要的XML解析方法:DOM解析(Document Object Model)和SAX解析(Simple API for XML)。 - DOM解析:一次性加载整个XML文档到内存,适合小规模的XML文件。 - SAX解析:事件驱动型解析,只读取...

    iphone中XML解析例子

    本篇文章将深入探讨如何在iPhone应用中进行XML解析。 首先,我们需要了解在iOS中解析XML的两种主要方法:NSXMLParser和libxml2库。NSXMLParser是Apple提供的一种基于事件驱动的解析器,它会逐个处理XML文档的元素和...

    xml解析例子

    本篇文章将深入探讨XML解析的例子,并提供一个简单的实践示例。 在XML解析中,我们通常会遇到两种主要的解析方式:DOM(Document Object Model)解析和SAX(Simple API for XML)解析。DOM解析将整个XML文档加载到...

    dom4j的jar包(带xml解析例子)

    **DOM4J详解与XML解析实例** DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效和易于使用的API,使得XML的读取、写入、修改和查询变得简单。DOM4J是基于Java DOM API的增强版,克服了标准DOM API...

    xml 解析例子

    本文将深入探讨XML解析的概念、原理以及在实际应用中的例子,旨在帮助你更好地理解和掌握XML处理。 XML解析是将XML文档转换为程序可以理解的数据结构的过程。这个过程分为两种主要类型:DOM(Document Object Model...

    xml解析例子Dom,DOM4J,SAX Stack mystack = new Stack();

    简单的xml解析,生成例子 public void characters(char[] c, int start, int end) throws SAXException { String s = mystack.peek().toString(); System.out.println("栈顶对象为"+s+"\t"+"当前栈区大小为"+...

    xml解析器,xml解析代码例子

    本文将深入探讨XML解析器的工作原理,并通过具体的代码示例帮助你理解和掌握XML解析的基本方法。 XML文档结构由元素、属性、文本内容、注释等构成。元素是XML文档的核心,它们用尖括号包围,如 `&lt;element&gt;`。属性...

    GWT SimpleXML, XML解析

    在描述中提到的“XML解析例子”是指如何在GWT环境中使用SimpleXML来解析从服务器获取的XML数据。这通常涉及以下几个步骤: 1. **发起HTTP请求**:在GWT中,可以使用`com.google.gwt.http.client.RequestBuilder`类...

    xml解析讲解例子

    本讲解将深入探讨XML解析在Android中的应用,并通过具体的例子"XmlResTest"来辅助理解。 一、XML基础 XML是一种可扩展的标记语言,与HTML类似,但更注重数据的结构和语义。XML文档由元素(Element)、属性...

    解析XML文件例子

    - "day02" 和 "day02.txt" 可能是日志或笔记文件,可能包含与XML解析相关的学习记录。 - "tarena" 可能是一个目录,其中可能包含更多的学习资料或示例代码。 - "homework" 可能是作业或练习文件,可能要求学生...

    java解析xml例子

    无论是在Web服务、配置文件还是数据交换场景中,XML解析都是一个关键的技能。你可以根据实际需求选择适合的解析方式。在实际项目中,通常还会涉及到错误处理、命名空间、属性处理等复杂情况,需要结合实际情况进行...

    DOM解析XML文件例子

    在这个例子中,我们将深入探讨如何使用DOM解析XML文件,以理解和掌握XML文档的结构,并进行数据提取、修改和创建。 首先,XML(Extensible Markup Language)是一种标记语言,用于存储和传输数据,具有自描述性和...

    xml简单解析例子

    这个“xml简单解析例子”很适合初学者,它将带你了解XML的基本结构和解析方法。 XML文档的基本构成包括元素(Element)、属性(Attribute)、文本内容(Text Content)等。元素是XML文档的核心,它们以尖括号 `和 `...

    简单的XML解析的例子

    DOM(Document Object Model)是XML解析的一种常见方法,它将XML文档视为一个树形结构,允许开发者通过节点操作来遍历和修改XML内容。以下是一个使用Python的`xml.dom.minidom`库进行DOM解析的例子: ```python ...

    Tinyxml文件解析经典例子

    Tinyxml 文件解析经典例子 TinyXML 是一个开源的解析 XML 的解析库,能够用于 C++,能够在 Windows 或 Linux 中编译。这个解析库的模型通过解析 XML 文件,然后在内存中生成 DOM 模型,从而让我们很方便的遍历这棵...

    三种XML文件解析例子

    Pull解析器是Android特有的轻量级XML解析方式,适合处理大型XML文件。`PullForXml`示例中,可能涉及以下步骤: 1. 引入`org.xmlpull.v1.XmlPullParserFactory`和`XmlPullParser`,创建`XmlPullParser`实例。 2. 设置...

    android xml pull解析示例

    在Android系统中,XML Pull解析是一种轻量级且高效的解析XML文档的方法,它允许应用程序按需读取XML文档的节点,而无需加载整个文档到内存中。以下是关于Android XML Pull解析的详细知识讲解。 1. **XML Pull解析器...

Global site tag (gtag.js) - Google Analytics