python解析 :

                       XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言

                       XML 被设计用来传输和存储数据。
                       XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。

                       它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言

python有三种方法解析XML,SAX,DOM  :

                    XML解析:                      

1. parse(filename)                      用parse获取到整个树,加载到内存里  
                                  2.root=doc.documentElement              获取根节点
                                  3.moies=root.getElementsByTagName("movie")    获取所有子节点的集合
                                  4.for movie in movies :                  循环遍历 movies   循环获取movies的每一个子节点 
                                  获取子节点的值.chidlNodes[0].data

                    实例 :

                 导入使用的模板:               

from xml.dom.minidom import parse
                                                            import xml.dom.minidom
                                                             #获取整个树
                                                              Dom=xml.dom.minidom.parse("student.xml")
                                                             #获取子节点
                                                               collection=Dom.documentElement
                                                              #获取所有子节点的集合
                                                               stus=collection.getElementsByTagName("book")
                                                                #循环遍历图书信息
                                                                for stu in stus :
                                                                    print("******---Book---******")
                                                                        if stu.hasAttribute("id"):
                                                                 print("id: %s" %stu.getAttribute("id"))
    
                                                        bookname=stu.getElementsByTagName('bookname')[0]
                                                        print("bookname %s " %bookname.childNodes[0].data)
                                                        author=stu.getElementsByTagName('author')[0]
                                                        print("author %s " %author.childNodes[0].data)
                                                        price=stu.getElementsByTagName('price')[0]
                                                        print("price %s " %price.childNodes[0].data)


      SAX解析: 

                     在python中使用sax方式处理xml要先引入xml.sax中的parse函数,还有xml.sax.handler中的ContentHandler

                     导入模板  :   

from xml.sax import parse
                     from xml.sax import ContentHandler


ContentHandler类方法介绍 : characters(content)方法 调用时机: 从行开始,遇到标签之前,存在字符,content的值为这些字符串。 从一个标签,遇到下一个标签之前, 存在字符,content的值为这些字符串。 从一个标签,遇到行结束符之前,存在字符,content的值为这些字符串。 标签可以是开始标签,也可以是结束标签。 startDocument()方法 文档启动的时候调用。 endDocument()方法 解析器到达文档结尾时调用。 startElement(name, attrs)方法 遇到XML开始标签时调用,name是标签的名字,attrs是标签的属性值字典。 endElement(name)方法 遇到XML结束标签时调用


parser方法 : 以下方法创建一个 SAX 解析器并解析xml文档: xml.sax.parse( xmlfile, contenthandler[, errorhandler])


参数说明: xmlfile - xml文件名 contenthandler - 必须是一个ContentHandler的对象 errorhandler - 如果指定该参数,errorhandler必须是一个SAX ErrorHandler对象


xml.dom解析xml :

                                            一个 DOM 的解析器在解析一个 XML 文档时,一次性读取整个文档,把文档中所有元素保存在内存中的一个树结构里,之后你可以利用DOM 提供的不同的函数来读取或修改文档的内容和结构,也可以把修改过的内容写入xml文件