Python中element,python webelement
这篇文章介绍了大蟒通过元素树操作可扩展置标语言的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
1.引入库
需要用到3个类,元素树,元素以及建立子类的包装类子元件
从xml.etree.ElementTree导入元素树
从xml.etree.ElementTree导入元素
从xml.etree.ElementTree将子元素作为东南导入
2.读入并解析
tree=ElementTree(file=xmlfile)
root=tree.getroot()
读入后,树是元素树的类型,获取可扩展标记语言根结点使用getroot()方法;
可扩展置标语言示例文件:
项目sid=1712 name=大抄送
a id=1/a
a id=2/a
/项目
3.获取子结点
查找元素的所有子结点:
AArry=item.findall(a )
也可使用getchildren():
childs=item.getchildren()
对于儿童:中的子项
打印subItem.get(id )
4.插入子结点
方法一:
item=Element(item ,{sid : 1713 , name : ityouhui})
根.追加(项目)
方法二:
SE(root, item ,{sid:1713 , name:ityouhui})
方法一的好处是插入之后可以对项目继续操作。方法二是写法上简单,其中东南就是子元素,在引入处做了声明;
5.操作属性
获取元素的某个属性值(例如:获取项目的姓名)
打印root.find(项目/名称)。文本
打印item.get(名称)
获取元素所有属性
print item.items() # [(sid , 1712 ),( name ,大抄送)]
打印项目。属性# { sid : 1712 ,名称 : 大抄送 }
6.美化XML
在写入之前,传入根调用此函数,写入的可扩展置标语言文件格式整齐美观:
缩进(根)
book.write(xmlfile,“utf-8”)
看起来很漂亮
定义缩进(元素,级别=0):
i=\n level*
如果镜头(元素):
如果不是elem .文本或者不是elem.text.strip():
elem.text=i
对于elem:中的e
缩进(e,级别1)
如果不是电子尾巴或者不是e.tail.strip():
e.tail=i
如果水平和(不是元素. tail或而不是elem.tail.strip()):
elem.tail=i
返回元素
到此这篇关于大蟒通过元素树操作可扩展置标语言的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持盛行信息技术软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。