#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)