首页 > 编程语言 >python3 xml tree

python3 xml tree

时间:2023-05-06 23:12:41浏览次数:38  
标签:xml None self tree python3 namespaces path def

Python3 XML 解析 | 菜鸟教程 (runoob.com)

Python 标准库之 xml.etree - Awakenedy - 博客园 (cnblogs.com)

1、介绍

通过python3自带的xml.etree.ElementTree模块可以实现对xml的操作。

XML是一种固有的分层数据格式,也是用一棵树来表示它。为此,本模块分为两个类:

  • ElementTree将整个XML文档表示为一个树
  • Element表示该树中的单个节点

与整个文档的交互(读取和写入文件)通常在ElementTree级别上完成。与单个XML元素和其子元素的交互是在元素级别上完成的。

元素是一个灵活的容器对象,设计用于存储分层数据,它可以被描述为列表和词典,每个元素都有多个与其关联的属性:

  • “tag”-包含元素名称的字符串。
  • “attributes”-存储元素属性的Python字典。
  • “text”-包含元素的文本内容的字符串。
  • “tail”-一个可选字符串,在元素的结束标记后包含文本。
  • 以及存储在Python序列中的许多子元素。

要创建元素实例,请使用element构造函数,或子元素工厂功能。

2、ElementTree类

对应整个xml结构。

2.1 初始化

class ElementTree:
    def __init__(self, element=None, file=None):
  • element,str类型,根节点的名称
  • file,str类型,xml文件

2.2 方法

(1)getroot

def getroot(self):
  • 返回根节点

(2)parse

def parse(self, source, parser=None):
  • 解析

(3)iter

def iter(self, tag=None):
  • 对子节点迭代

(4)find

def find(self, path, namespaces=None):

(5)findtext

def findtext(self, path, default=None, namespaces=None):

(6)findall

def findall(self, path, namespaces=None):

(7)iterfind

def iterfind(self, path, namespaces=None):

(8)write

def write(self, file_or_filename,
          encoding=None,
          xml_declaration=None,
          default_namespace=None,
          method=None, *,
          short_empty_elements=True):
  • 将本对象写入文件中
  • encoding,str类型,即写入文件的编码,一般设为'utf-8'
  • xml_declaration,bool类型,为True会在首行写入xml声明

3、Element类

对应节点

2.1 初始化

class Element:
    tag = None
    attrib = None
    text = None
    tail = None
    def __init__(self, tag, attrib={}, **extra):

 2.2 方法

def makeelement(self, tag, attrib):

 

def copy(self):

 

def append(self, subelement):

 

def extend(self, elements):

 

def insert(self, index, subelement):

 

def remove(self, subelement):

 

def find(self, path, namespaces=None):

 

def findtext(self, path, default=None, namespaces=None):

 

def findall(self, path, namespaces=None):

 

def iterfind(self, path, namespaces=None):

 

def get(self, key, default=None):

 

def set(self, key, value):

 

def keys(self):

 

def items(self):

 

def iter(self, tag=None):

 

def itertext(self):

 

标签:xml,None,self,tree,python3,namespaces,path,def
From: https://www.cnblogs.com/wd404/p/17378670.html

相关文章

  • treeTable
    [color=red]jqgrid中文官网[/color]:http://blog.mn886.net/jqGrid/http://zhaozhi3758.iteye.com/blog/1399229关键:http://chenjumin.iteye.com/blog/419522关键2:http://panyongzheng.iteye.com/blog/1918070全面的东西:http://www.trirand.com/blog......
  • WEB|[NCTF2019]True XML cookbook
    题目提示XML,直接抓包注入XML<?xmlversion="1.0"?><!DOCTYPElkj[<!ENTITYadminSYSTEM"file:///flag">]><user> <username>&admin;</username> <password>1</password></user>读取失败修改......
  • web开发总结----xml的写入、读取---2
    publicclassDOM4JTest{/***//***//***//***//***//***//***//***DOM4J读写XML示例**@paramargs*@throwsException*/publicstaticvoidmain(String[]args){try{XMLWriter......
  • XmlNamespaceManager与XmlDocument.NameTable浅述
    XmlDocumentdoc=newXmlDocument();doc.LoadXml(xml);XmlNamespaceManagernsmgr=newXmlNamespaceManager(doc.NameTable);nsmgr.AddNamespace("ns","http://WebXml.com.cn/");varnodes=doc.SelectNodes("//ns:string",nsmgr);......
  • tkinter的背景色要求在tkinter之后否则treeview等不会有颜色
    importtkinterfromtkinterimportttkfromtkinterimport*fromtkinter.ttkimport*importpymysql#导入消息对话框子模块importtkinter.messagebox deffixed_map(option):  #Returnsthestylemapfor'option'withanystylesstartingwith  #......
  • color a tree poj2054
    coloratree(贪心)题目描述可以得到一个确定性的结论,最大值的结点一定是在父节点染色后立即染色。但是此时依结论不好在复杂的情况正推,先考虑简单情况:假如有权值x,y,z三个点,已知x,y一定一起染色,则有两种可能方案:先x,y,再z,代价为X=x+2y+3z先z,再x,y,代价为Y=2x+3y+zX-Y=2z-......
  • Spring17_基于XML的AOP开发10
    一、快速入门1. 导入AOP相关坐标2. 创建目标接口和目标类(内部有切点)3. 创建切面类(内部有增强方法)4. 将目标类和切面类的对象创建权交给spring5. 在applicationContext.xml中配置织入关系6. 测试代码代码实现:新建一个module:itheima_spring_aop1.......
  • Access to XMLHttpRequest at 'file:///xxx/%C3%A7%C2%9C' from origin 'null' has be
    AccesstoXMLHttpRequestat'file:///xxx/%C3%A7%C2%9C'fromorigin'null'hasbeenblockedbyCORSpolicy:Crossoriginrequestsareonlysupportedforprotocolschemes:http,data,isolated-app,chrome-extension,chrome,https,chrome......
  • 【VBA】树控件TreeView的学习(一)
    哈喽,手机边亲爱的你还好吗?我是默默给大家分享Access知识的will。大家2022年快乐,从今天开始我们来讲一下树控件。树控件在我们的开发中是经常用的到的控件也是一个重点,我会从最简单的讲起,一点点,一点点的加上难度,最后我们把BOM挂到树上,顺便讲一下BOM。我会先发一篇文章再出一个视频。......
  • SPOJ COT3 Combat on a tree
    简要题意给定一棵有根树,初始有黑点白点。两人交替操作,每次选择一个白点,将这个点到根路径上所有点染黑,选不了则输。求先手能否必胜;如果能,给出第一步可能的所有走法。数据范围:\(1\len\le10^5\)。题解小清新题。难度不配黑题。进行一次操作以后,这个点到根路径上所有点两侧的子......