python-lxml的demo

1、

from lxml import etree
import StringIO

f = StringIO.StringIO('<foo><bar>aaa</bar><bar>bbb</bar></foo>')
tree = etree.parse(f)
r = tree.xpath('/foo/bar')
print len(r)
print r[0].tag
print r[0].text,r[1].text
 
 
2、
from lxml import etree

root = etree.Element("root")
print root.tag

root.append(etree.Element("child1"))
root.append(etree.Element("child2"))
child3 = etree.SubElement(root,"child3")
child4 = etree.SubElement(child3,"child4")
root.insert(4,etree.Element("aaa"))

print etree.tostring(root,pretty_print=True)
print len(root)
print root[0].tag
print [c.tag for c in root]
3、
from lxml import etree

root = etree.Element("root",list="2")
root.insert(0,etree.Element("name",real="True"))
age = etree.SubElement(root,"age")
age.text="28"

print etree.tostring(root)
print root.keys()
4、
from lxml import etree

root = etree.Element("root")
name = etree.SubElement(root,"name")
name.text = "test"
age = etree.SubElement(root,"age")
age.text = "18"

print etree.tostring(root)
print len(root)
for r in root:
    print r.tag,r.text

print root.xpath("//text()")
5、
from lxml import etree

root = etree.XML('<root><a><b/></a></root>')
print etree.tostring(root,xml_declaration=True,encoding='utf-8',pretty_print=True)
6、
from lxml import etree

xml_msg = "<root>data</root>"

root = etree.fromstring(xml_msg)
print len(root)
print root.tag
print root.text







7、

from lxml import etree
from StringIO import StringIO

my_xml =  """<root><name>test</name><age>28</age></root>"""
my_xslt = """<?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cch="http://tempuri.org/" version="2.0">
        <xsl:output method="text" version="1.0" encoding="UTF-8" indent="yes"/>
        <xsl:template match="/">
                <xsl:variable name="RESPSTRING" select="/root/name[text()]"/>
                <xsl:text>name=</xsl:text><xsl:value-of select="$RESPSTRING"/>
        </xsl:template>
</xsl:stylesheet>
"""

f = StringIO(my_xml)
doc = etree.parse(f)
#r = doc.xpath(my_xpath)

xslt_root = etree.XML(my_xslt)
transform = etree.XSLT(xslt_root)
result = transform(doc)
#print len(r)
#print r[0].tag,r[0].text

print result


猜你喜欢

转载自blog.csdn.net/zt3032/article/details/78744998