python使⽤elementtree解析xml
基本概念
ElementTree 代表把整个xml作为⼀棵树处理
Element 代表树中的⼀个节点
整体操作,如⽂件读写,多⽤ElementTree,具体解析和修改多⽤Element
不同的读取⽅式
tree = ET.parse('l')从⽂件读取xml,返回⼀个 ElementTree。使⽤root = t()返回根节点Element
python处理xml文件root = ET.fromstring(country_data_as_string)从字符串加载xml,直接返回根节点Element
常⽤⽅法
deviceETString = ET.tostring(deviceET, encoding='utf-8')第⼀个参数是Element,把其中的xml以字符串返回。要注意的是,如果在python2 中指定encoding 为 unicode,会报错unknown encoding: unicode ,
参考
ET.dump(element)直接把Element包含的xml打印出来,相当于print
Element.tag tag属性可以区分不同类型的节点,使⽤中发现tag会带上命名空间,⽐如{namespace:abc:xyz}Components, ⼤括号中的内容为命名空间xmlns:="namespace:abc:xyz"
Element.attrib attrib属性是⼀个包含当前Element所有属性的字典。⽐如<Components xmlns="namespace:abc:xyz" id="weee" name="1ee2">, 字典内容应该是:{'id':"weee", 'name':"1ee2"}
Element.find(param)以及Element.findall(param),find第⼀个匹配,findall返回所有匹配的列表。他们的参数都⼀样,是⼀个tag或者路径,⽐如find("{namespace:abc:xyz}Components/{namespace:abc:xyz}Device")会到{namespace:abc:xyz}Components标签下,所有类型
为{namespace:abc:xyz}Device的⼦标签。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论