Python XML相关用法

#dom
from xml.dom.minidom import parse

# def printLibrary(library):
#     books=library.getElementsByTagName("book")
#     for book in books:
#         print("***book***")
#         for author in book.getElementsByTagName("author"):
#             print("Author:"+author.childNodes[0].data)

# #打开xml文件
# domTree =parse('bookxml.xml')
# rootNode =domTree.documentElement
# print(rootNode.toxml())
# #获取所有book
# # books=rootNode.getElementsByTagName('book')
# printLibrary(rootNode)

# #插入一条数据
# newbook=domTree.createElement("book")
# newbookTitle=domTree.createElement("title")
# titleText=domTree.createTextNode("learn C#")
# newbookTitle.appendChild(titleText)
# newbook.appendChild(newbookTitle)

# newbookAuthor=domTree.createElement("author");
# authonName=domTree.createTextNode("王五")
# newbookAuthor.appendChild(authonName)
# newbook.appendChild(newbookAuthor)

# newbookPageNumberr=domTree.createElement("pageNumber");
# pageNum=domTree.createTextNode("680")
# newbookPageNumberr.appendChild(pageNum)
# newbook.appendChild(newbookPageNumberr)

# rootNode.appendChild(newbook)
# print(rootNode.toxml())

# #删除某一条数据
# books=rootNode.getElementsByTagName("book")
# for book in books:
#     print("***book***")
#     for author in book.getElementsByTagName("author"):
#         if author.childNodes[0].data.find("wangwu")!=-1:
#             removedBook=rootNode.removeChild(book)
#             removedBook.unlink()
        


# #写入到xml文件
# lib=open('bookxml.xml','w')
# lib.write(domTree.toprettyxml())
# lib.close()

# #sax
from xml.sax import make_parser
from xml.sax.handler import ContentHandler

# class bookHandler(ContentHandler):
#     inAuthor=False
#     inTitle=False

#     def startElement(self, name, attributes):
#         if  name=="book":
#             print("*****book*****")
#         # if  name=="title":
#         #     self.inTitle=True
#         #     print("*****title*****")
#         # if  name=="author":
#         #     self.inAuthor=True
#         #     print("*****author*****")

#     def endElement(self, name):
#         # if  name=="title":
#         #     self.inTitle=False 
#         # if  name=="author":
#         #     self.inAuthor=False
#         print("1---"+name)

#     def characters(self, content):
#         # if  self.inAuthor or self.inTitle:
#             print("2---"+content)

# parser=make_parser()
# parser.setContentHandler(bookHandler())
# parser.parse('bookxml.xml')      

#lxm
import lxml
from lxml import etree
# #创建元素,添加文本信息
# author=etree.Element("Horror")
# print(author.tag)
# author.set("audient","Adult")
# print(author.get("audient"))
# writer1=etree.SubElement(author,"NeilGaiman")
# writer1.text="writer1 name test"
# writer2=etree.SubElement(author,"StephenKing")
# writer2.text="writer2 name test"
# writer3=etree.SubElement(author,"CliveBarker")
# writer3.text="writer3 name test"
# print(etree.tostring(author))

# #解析数据
# sentence="<info>Here is a sentence</info>"
# info=etree.fromstring(sentence)
# print(info.tag)
# print(info.text)
# print("---------------------------")

# info1=etree.XML(sentence)
# print(info1.tag)
# print(info1.text)
# print(etree.tostring(info1))

#解析文件
import io

# # newsentence=io.StringIO("<info>Here is a sentence</info>")
# newsentence=io.FileIO('bookxml.xml')
# somesentence=etree.parse(newsentence);
# print(etree.tostring(somesentence))
# print("---------------------------------------")
# printit=somesentence.getroot()
# print(printit.tag)
# print(printit.text)

html=etree.parse('headings.html')
result=etree.tostring(html).decode('utf-8')
print(result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值