Python基础(十一) 使用xml.dom 创建XML文件与解析
来源:互联网 发布:js的math方法 编辑:程序博客网 时间:2024/06/07 02:03
Python基础(十一) 使用xml.dom 创建XML文件与解析
创建XML文件
# -*- coding:UTF-8 -*-import xml.dom.minidom#创建XML文件doc = xml.dom.minidom.Document()doc.appendChild(doc.createComment("this is a simple xmll."))booklist = doc.createElement("booklist")doc.appendChild(booklist)def addBook(newBook):book = doc.createElement("book")book.setAttribute("name", newBook["name"])bookid = doc.createElement("bookid")bookid.appendChild(doc.createTextNode(newBook["id"]))book.appendChild(bookid)bookauthor = doc.createElement("author")bookauthor.appendChild(doc.createTextNode(newBook["author"]))book.appendChild(bookauthor)bookChapter = doc.createElement("chapter")chapter1 = doc.createElement("chapter1")chapter2 = doc.createElement("chapter2")chapter1.appendChild(doc.createTextNode(newBook["chapter1"]))chapter2.appendChild(doc.createTextNode(newBook["chapter2"]))bookChapter.appendChild(chapter1)bookChapter.appendChild(chapter2)book.appendChild(bookChapter)booklist.appendChild(book)addBook({"id":"0001","name":"果冻自传","author":"果冻","chapter1":"果冻自传第一章","chapter2":"果冻自传第二章"})addBook({"id":"0002","name":"GUODONG's LIFE","author":"GUODONG","chapter1":"GUODONG's LIFE chapter1","chapter2":"GUODONG's LIFE chapter2"})f = file("book.xml","w")doc.writexml(f)f.close()
运行可在当前目录生成 book.xml文件
<?xml version="1.0"?><!--this is a simple xmll.-->-<booklist>-<book name="果冻自传"><bookid>0001</bookid><author>果冻</author>-<chapter><chapter1>果冻自传第一章</chapter1><chapter2>果冻自传第二章</chapter2></chapter></book>-<book name="GUODONG's LIFE"><bookid>0002</bookid><author>GUODONG</author>-<chapter><chapter1>GUODONG's LIFE chapter1</chapter1><chapter2>GUODONG's LIFE chapter2</chapter2></chapter></book></booklist>
XML解析
from xml.dom import minidom , Nodefrom xml.dom.minidom import parseimport xml.dom.minidomDOMTree = xml.dom.minidom.parse("book.xml")collection = DOMTree.documentElementbooks = collection.getElementsByTagName("book")for book in books:print"*"*10if book.hasAttribute("name"):print "BookName: %s" % book.getAttribute("name")bookid = book.getElementsByTagName('bookid')[0]print "bookid :",bookid.childNodes[0].dataauthor = book.getElementsByTagName('author')[0]print "author :",author.childNodes[0].datachapters = book.getElementsByTagName('chapter')for chapter in chapters:chapter1 = chapter.getElementsByTagName('chapter1')[0]print "chapter1 :",chapter1.childNodes[0].datachapter2 = chapter.getElementsByTagName('chapter2')[0]print "chapter1 :",chapter2.childNodes[0].data
运行输出
0 0
- Python基础(十一) 使用xml.dom 创建XML文件与解析
- 使用PHP DOM-XML创建和解析XML文件
- 使用PHP DOM-XML创建和解析XML文件
- Python:Dom解析XML文件(读XML)
- Python:Dom解析XML文件(读XML)
- 使用DOM解析XML文件
- 使用Dom解析xml文件
- 使用DOM解析XML文件
- 使用dom解析xml文件
- 使用Dom解析XML文件
- 使用DOM解析XML文件
- 使用DOM解析XML文件
- 使用DOM解析XML文件
- 使用DOM解析XML文件
- 使用DOM解析XML文件
- 使用DOM解析XML文件
- 【XML】使用DOM解析XML文件
- 使用Dom4j创建与解析XML文件
- Java程序设计(三)垃圾回收机制
- npm 安装module
- SSH框架的搭建(Struts2+Spring3+Hibernate3)
- 获取Android设备heapsize
- 二叉树的创建的内存问题
- Python基础(十一) 使用xml.dom 创建XML文件与解析
- Spark修炼之道(高级篇)——Spark源码阅读:第六节 Task提交
- HDOJ 题目1195 Open the Lock(双向BFS)
- Codeforces Round #327 (Div. 1) B. Chip 'n Dale Rescue Rangers
- 在webView上添加手势
- python challenge
- EntityFramework6 Execute Storeprocedure
- IOS9.0升级后以及xcode7后引起的问题
- Eclipse下Java+Scala混合编程的Maven项目