精华内容
下载资源
问答
  • 主要介绍了python解析xml文件方式(解析、更新、写入),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 这篇文章主要介绍了用Python解析XML的几种常见方法,包括快速的使用ElementTree模块等方法的实例介绍,需要的朋友可以参考下 一、简介 XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据...
  • 本文实例讲述了python解析xml文件操作的实现方法。分享给大家供大家参考。具体方法如下: xml文件内容如下: <?xml version="1.0" ?> <!--Simple xml document__chapter 8--> <title> sample ...
  • python解析xml文件

    2011-08-13 21:20:42
    python解析xml文件,python语言解析xml文件的常用的有两种方式: 通过MiniDom库解析xml文件 通过ElementTree库解析xml文件
  • python解析xml文件增删查找,相关教程参考:https://blog.csdn.net/tanghong1996/article/details/88657307
  • Python 解析XML文件

    2020-12-24 09:14:56
    Python文件: 复制代码 代码如下:#parsexml.py #本例子参考自python联机文档,做了适当改动和添加 import xml.parsers.expat #控制打印缩进 level = 0 #获取某节点名称及属性值集合 def start_element(name, attrs):...
  • python解析xml生成excel文档,有彩色效果,注释
  • 1、获取xml树 import xml.etree.ElementTree as ET def getTree(xmlName): xmlName = xmlName.strip() try: tree = ET.parse(xmlName) except: tree = None print 'Analysis xml file fail,file name: {}'....
  • Python解析XML文件入库

    2020-12-07 18:46:07
    Python解析XML文件入库 1. python dom方法解析xml文件 【Q1:2020-12-06T12:00:00字段是否有必要拆分 】 from xml.dom.minidom import parse import xml.dom.minidom # 使用minidom解析器打开 XML 文档 DOMTree = ...

    Python解析XML文件入库

    1. python dom方法解析xml文件
    【Q1:2020-12-06T12:00:00字段是否有必要拆分 】
    【 A1:字段清洗replace函数,数据库字段类型改为datetime】

    from xml.dom.minidom import parse
    import xml.dom.minidom
    
    # 使用minidom解析器打开 XML 文档
    DOMTree = xml.dom.minidom.parse("C:\\Users\\Mary Super\\Desktop\\12-07\\PM-MSS-M3UALINKSETTP-05-V4.1.1-20201206120000-15.xml")
    root = DOMTree.documentElement
    
    # 获取指定标签 StartTime(时间戳) - 字符串str" 
    StartTime = root.getElementsByTagName("StartTime")[0].firstChild.data.replace('T', ' ') 
    
    # 获取指定标签M3uaLinkSetTp(文件类型)- SQL表名
    ObjectType = root.getElementsByTagName("ObjectType")[0].firstChild.data
    
    # 获取指定标签 PmName(指标类型)- 列表list"
    N = root.getElementsByTagName("N")
    PmName = []
    for i in  range(len(N)):
        PmName.append(N[i].firstChild.data)
    
    k = 0
    Object = root.getElementsByTagName("Object")
    for i in range(len(Object)):
        SonNodes = Object[i].childNodes
        print("StartTime:",StartTime)
        ManagedElement = Object[i].getAttribute("Dn")
        print("ManagedElement:",ManagedElement[53:63])
        UserLabel = Object[i].getAttribute("UserLabel")
        print("UserLabel:",UserLabel)
        for j in range(len(SonNodes)):
            if(SonNodes[j].nodeName!="#text"):
                print(PmName[k],":",SonNodes[j].firstChild.data)
                k += 1       
        k = 0
        print("\r")
    

    在这里插入图片描述
    2. list 转化成 Dataframe
    【Q2:循环打印List,并转化成DataFrame的简便方法,网上看了创建DataFrame的7种方式陌生依然没灵感】
    【Q3:提高代码可复用性,手动设置固定参数过多】

    import pandas as pd
    import numpy as np
    
    from xml.dom.minidom import parse
    import xml.dom.minidom
    
    # 使用minidom解析器打开 XML 文档
    DOMTree = xml.dom.minidom.parse("C:\\Users\\Mary Super\\Desktop\\12-07\\PM-MSS-M3UALINKSETTP-05-V4.1.1-20201206120000-15.xml")
    root = DOMTree.documentElement
    
    # 获取指定标签 StartTime(时间戳) - 字符串str"
    StartTime = root.getElementsByTagName("StartTime")[0].firstChild.data.replace('T', ' ') 
    
    
    # 获取指定标签 PmName(指标类型)- 列表list"
    N = root.getElementsByTagName("N")
    PmName = []
    for i in  range(len(N)):
        PmName.append(N[i].firstChild.data)
    
    # 将打印信息存放Ne列表   **??**
    Ne = []
    Object = root.getElementsByTagName("Object")
    for i in range(len(Object)):
        SonNodes = Object[i].childNodes
        Ne.append(StartTime)
        ManagedElement = Object[i].getAttribute("Dn")
        Ne.append(ManagedElement[53:63])
        UserLabel = Object[i].getAttribute("UserLabel")
        Ne.append(UserLabel)
        for j in range(len(SonNodes)):
            if(SonNodes[j].nodeName!="#text"):
                Ne.append(SonNodes[j].firstChild.data)
    
    # array - reshape  **??**
    Ne2 = np.array(Ne).reshape(-1,5)
    df = pd.DataFrame(Ne2)
    df.columns = ["StartTime","ManagedElement","UserLabel",PmName[0],PmName[1]]
    

    3. DataFrame数据 根据df_to_sql 入数据库
    【Q4:导入之前需要新创建数据库】
    【A4:需要创建连接的数据库的信息】

    # 兼容mysqldb
    import pymysql
    from sqlalchemy import create_engine
    # 数据库接口信息
    account = "root"
    passw = "1234abcd"
    ip = "127.0.0.1"
    port = 3306
    db = "msc"
    # 创建引擎,连接数据库
    engine = create_engine("mysql+pymysql://{0}:{1}@{2}:{3}/{4}?charset=utf8".format(account,passw,ip,port,db))
    con = engine.connect()
    # DataFrame数据导入mss数据库 
    df.to_sql(name=ObjectType, con=con, if_exists='replace', index=False)
    

    在这里插入图片描述

    4. 编辑表的字段类型
    【Q5:类型修改对最初导入数据信息有所丢失,如StartTime缺失时分秒粒度,已尝试Date/timestamp/text 均无法复现df字段】
    【A5:StartTime保留时分秒,应该选择Datatime类型】
    在这里插入图片描述
    在这里插入图片描述

    5. 对指标数据进行简单求和
    在这里插入图片描述

    我们最可怕的敌人不是怀才不遇,而是我们的踌躇,犹豫。将自己定位为某一种人,于是,自己便成了那种人

    展开全文
  • 本文实例讲述了python解析xml文件的方法。分享给大家供大家参考。具体如下: python解析xml非常方便。在dive into python中也有讲解。 如果xml的结构如下: <?xml version="1.0" encoding="utf-8"?> ...
  • python解析xml文件(解析、更新、写入)

    万次阅读 多人点赞 2019-04-24 11:24:36
    这篇博客内容将包括对XML文件解析、追加新元素后写入到XML,以及更新原XML文件中某结点的值。使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档。全文都将围绕以下的customer.xml...

    Overview

    这篇博客内容将包括对XML文件的解析、追加新元素后写入到XML,以及更新原XML文件中某结点的值。使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档。全文都将围绕以下的customer.xml进行操作:

    <?xml version="1.0" encoding="utf-8" ?>
    <!-- This is list of customers -->
    <customers>
      <customer ID="C001">
        <name>Acme Inc.</name>
        <phone>12345</phone>
        <comments>
          <![CDATA[Regular customer since 1995]]>
        </comments>
      </customer>
      <customer ID="C002">
        <name>Star Wars Inc.</name>
        <phone>23456</phone>
        <comments>
          <![CDATA[A small but healthy company.]]>
        </comments>
      </customer>
    </customers>
    

    CDATA:在XML中,不会被解析器解析的部分数据。

    声明:在本文中,结点和节点被视为了同一个概念,你可以在全文的任何地方替换它,我个人感觉区别不是很大,当然,你也可以看做是我的打字输入错误。

    1. 解析XML文件

    在解析XML时,所有的文本都是储存在文本节点中的,且该文本节点被视为元素结点的子结点,例如:2005,元素节点 ,拥有一个值为 “2005” 的文本节点,“2005” 不是 元素的值,最常用的方法就是getElementsByTagName()方法了,获取到结点后再进一步根据文档结构解析即可。

    具体的理论就不过多描述,配合上述XML文件和下面的代码,你将清楚的看到操作方法,下面的代码执行的工作是将所有的结点名称以及结点信息输出一下:

    # -*- coding: utf-8 -*-
    """
        @Author  : LiuZhian
        @Time    : 2019/4/24 0024 上午 9:19
        @Comment : 
    """
    from xml.dom.minidom import parse
    def readXML():
    	domTree = parse("./customer.xml")
    	# 文档根元素
    	rootNode = domTree.documentElement
    	print(rootNode.nodeName)
    
    	# 所有顾客
    	customers = rootNode.getElementsByTagName("customer")
    	print("****所有顾客信息****")
    	for customer in customers:
    		if customer.hasAttribute("ID"):
    			print("ID:", customer.getAttribute("ID"))
    			# name 元素
    			name = customer.getElementsByTagName("name")[0]
    			print(name.nodeName, ":", name.childNodes[0].data)
    			# phone 元素
    			phone = customer.getElementsByTagName("phone")[0]
    			print(phone.nodeName, ":", phone.childNodes[0].data)
    			# comments 元素
    			comments = customer.getElementsByTagName("comments")[0]
    			print(comments.nodeName, ":", comments.childNodes[0].data)
    
    if __name__ == '__main__':
    	readXML()
    

    在这里插入图片描述

    2. 写入XML文件

    在写入时,我觉得可分为两种方式:

    • 新建一个全新的XML文件
    • 在已有XML文件基础上追加一些元素信息

    至于以上两种情况,其实创建元素结点的方法类似,你必须要做的都是先创建/得到一个DOM对象,再在DOM基础上创建new一个新的结点。

    如果是第一种情况,你可以通过dom=minidom.Document()来创建;如果是第二种情况,直接可以通过解析已有XML文件来得到dom对象,例如dom = parse("./customer.xml")

    在具体创建元素/文本结点时,你大致会写出像以下这样的“四部曲”代码:

    • ①创建一个新元素结点createElement()
    • ②创建一个文本节点createTextNode()
    • ③将文本节点挂载元素结点上
    • ④将元素结点挂载到其父元素上。

    现在,我需要新建一个customer节点,信息如下:

    <customer ID="C003">
        <name>kavin</name>
        <phone>32467</phone>
        <comments>
          <![CDATA[A small but healthy company.]]>
        </comments>
      </customer>
    

    代码如下:

    def writeXML():
    	domTree = parse("./customer.xml")
    	# 文档根元素
    	rootNode = domTree.documentElement
    
    	# 新建一个customer节点
    	customer_node = domTree.createElement("customer")
    	customer_node.setAttribute("ID", "C003")
    
    	# 创建name节点,并设置textValue
    	name_node = domTree.createElement("name")
    	name_text_value = domTree.createTextNode("kavin")
    	name_node.appendChild(name_text_value)  # 把文本节点挂到name_node节点
    	customer_node.appendChild(name_node)
    
    	# 创建phone节点,并设置textValue
    	phone_node = domTree.createElement("phone")
    	phone_text_value = domTree.createTextNode("32467")
    	phone_node.appendChild(phone_text_value)  # 把文本节点挂到name_node节点
    	customer_node.appendChild(phone_node)
    
    	# 创建comments节点,这里是CDATA
    	comments_node = domTree.createElement("comments")
    	cdata_text_value = domTree.createCDATASection("A small but healthy company.")
    	comments_node.appendChild(cdata_text_value)
    	customer_node.appendChild(comments_node)
    
    	rootNode.appendChild(customer_node)
    
    	with open('added_customer.xml', 'w') as f:
    		# 缩进 - 换行 - 编码
    		domTree.writexml(f, addindent='  ', encoding='utf-8')
    
    if __name__ == '__main__':
    	writeXML()
    

    在这里插入图片描述

    3. 更新XML文件

    在更新XML时,只需先找到对应的元素结点,然后将其下的文本结点或属性取值更新即可,然后保存到文件,具体我就不多说了,代码中我将思路都注释清楚了,如下:

    def updateXML():
    	domTree = parse("./customer.xml")
    	# 文档根元素
    	rootNode = domTree.documentElement
    
    	names = rootNode.getElementsByTagName("name")
    	for name in names:
    		if name.childNodes[0].data == "Acme Inc.":
    			# 获取到name节点的父节点
    			pn = name.parentNode
    			# 父节点的phone节点,其实也就是name的兄弟节点
    			# 可能有sibNode方法,我没试过,大家可以google一下
    			phone = pn.getElementsByTagName("phone")[0]
    			# 更新phone的取值
    			phone.childNodes[0].data = 99999
    
    	with open('updated_customer.xml', 'w') as f:
    		# 缩进 - 换行 - 编码
    		domTree.writexml(f, addindent='  ', encoding='utf-8')
    
    if __name__ == '__main__':
    	updateXML()
    

    在这里插入图片描述

    如有不对之处,还烦请指教~

    展开全文
  • 本文将介绍深入解读利用Python语言解析XML文件的几种方式,并以笔者推荐使用的ElementTree模块为例,演示具体使用方法和场景。文中所使用的Python版本为2.7。XML是可扩展标记语言(ExtensibleMarkupLanguage)的缩写...
  • Python解析XML文件的软件实现.pdf
  • 1 文章背景 使用labelImg对图片进行标注以进行...使用python进行xml文件解析,修改指定的标签内容 2.1 使用python进行xml文件解析 # encoding:utf-8 import os import xml.etree.ElementTree as ET nowDir = os.g...

    1 文章背景

    使用labelImg对图片进行标注以进行YOLOv3模型参数训练,现希望修改图片尺寸,故对应的xml文件也需要调整。

    2 涉及知识点

    使用python进行xml文件解析,修改指定的标签内容

    2.1 使用python进行xml文件解析

    # encoding:utf-8
    import os
    import xml.etree.ElementTree as ET
    
    nowDir = os.getcwd()  # 得到进程当前工作目录
    fileList = os.listdir(nowDir)  # 得到进程当前工作目录中的所有文件名称列表
    for fileName in fileList:  # 获取文件列表中的文件
        if fileName.endswith("xml"):  # 只看xml文件
            print fileName
            tree = ET.parse(fileName)
            root = tree.getroot()
            # 第一层解析
            print "root-tag:", root.tag, ',root-attrib:', root.attrib, ',root-text:', root.text
            # 第二层解析
            for child in root:
                print 'child-tag:', child.tag, ',child.attrib:', child.attrib, ',child.text:', child.text
                # 第三层解析
                for sub in child:
                    print 'sub-tag:', sub.tag, ',sub.attrib:', sub.attrib, ',sub.text:', sub.text
                    # 第四层解析
                    for subchild in sub:
                        print 'subchild-tag:', subchild.tag, ',subchild.attrib:', subchild.attrib, ',subchild.text:', subchild.text
    

    原始xml文件内容如下:

    <annotation>
    	<folder>VedioPicture</folder>
    	<filename>0000001.jpg</filename>
    	<path>J:\4_forPaper\sickfeces\VedioPicture\0000001.jpg</path>
    	<source>
    		<database>Unknown</database>
    	</source>
    	<size>
    		<width>2560</width>
    		<height>1440</height>
    		<depth>1</depth>
    	</size>
    	<segmented>0</segmented>
    	<object>
    		<name>sickfeces</name>
    		<pose>Unspecified</pose>
    		<truncated>0</truncated>
    		<difficult>0</difficult>
    		<bndbox>
    			<xmin>2071</xmin>
    			<ymin>235</ymin>
    			<xmax>2154</xmax>
    			<ymax>288</ymax>
    		</bndbox>
    	</object>
    </annotation>
    

    打印结果如下:

    000001.xml
    root-tag: annotation ,root-attrib: {} ,root-text: 
    	
    child-tag: folder ,child.attrib: {} ,child.text: VedioPicture
    child-tag: filename ,child.attrib: {} ,child.text: 0000001.jpg
    child-tag: path ,child.attrib: {} ,child.text: J:\4_forPaper\sickfeces\VedioPicture\0000001.jpg
    child-tag: source ,child.attrib: {} ,child.text: 
    		
    sub-tag: database ,sub.attrib: {} ,sub.text: Unknown
    child-tag: size ,child.attrib: {} ,child.text: 
    		
    sub-tag: width ,sub.attrib: {} ,sub.text: 2560
    sub-tag: height ,sub.attrib: {} ,sub.text: 1440
    sub-tag: depth ,sub.attrib: {} ,sub.text: 1
    child-tag: segmented ,child.attrib: {} ,child.text: 0
    child-tag: object ,child.attrib: {} ,child.text: 
    		
    sub-tag: name ,sub.attrib: {} ,sub.text: sickfeces
    sub-tag: pose ,sub.attrib: {} ,sub.text: Unspecified
    sub-tag: truncated ,sub.attrib: {} ,sub.text: 0
    sub-tag: difficult ,sub.attrib: {} ,sub.text: 0
    sub-tag: bndbox ,sub.attrib: {} ,sub.text: 
    			
    subchild-tag: xmin ,subchild.attrib: {} ,subchild.text: 2071
    subchild-tag: ymin ,subchild.attrib: {} ,subchild.text: 235
    subchild-tag: xmax ,subchild.attrib: {} ,subchild.text: 2154
    subchild-tag: ymax ,subchild.attrib: {} ,subchild.text: 288
    

    2.2 修改指定的标签内容

    # encoding:utf-8
    import os
    import xml.etree.ElementTree as ET
    
    nowDir = os.getcwd()  # 得到进程当前工作目录
    fileList = os.listdir(nowDir)  # 得到进程当前工作目录中的所有文件名称列表
    for fileName in fileList:  # 获取文件列表中的文件
        if fileName.endswith("xml"):
            print fileName
            tree = ET.parse(fileName)
            root = tree.getroot()
    
            for shuink in shuinkList:
                for child in root:
                    for sub in child:
                        if sub.tag == "width" or sub.tag == "height":
                            sub.text = str(int(sub.text)/shuink)
                        for subchild in sub:
                            if subchild.tag == "xmin" or subchild.tag == "xmax" or subchild.tag == "ymin" or subchild.tag == "ymax":
                                subchild.text = str(int(subchild.text) / shuink)
                tree.write( fileName)  # 保存修改后的XML文件
    

    修改后的xml内容如下:

    <annotation>
    	<folder>VedioPicture</folder>
    	<filename>0000001.jpg</filename>
    	<path>J:\4_forPaper\sickfeces\VedioPicture\0000001.jpg</path>
    	<source>
    		<database>Unknown</database>
    	</source>
    	<size>
    		<width>160</width>
    		<height>90</height>
    		<depth>1</depth>
    	</size>
    	<segmented>0</segmented>
    	<object>
    		<name>sickfeces</name>
    		<pose>Unspecified</pose>
    		<truncated>0</truncated>
    		<difficult>0</difficult>
    		<bndbox>
    			<xmin>129</xmin>
    			<ymin>14</ymin>
    			<xmax>134</xmax>
    			<ymax>18</ymax>
    		</bndbox>
    	</object>
    </annotation>
    
    展开全文
  • 本文实例讲述了Python解析xml中dom元素的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:from xml.dom import minidom try:  xmlfile = open(“path.xml”, “a+”)  #xmldoc = minidom.parse...
  • python解析XML文件并转存到excel 转换前的xml文档信息如下: 处理后的效果如下: python代码如下: import xml.sax from openpyxl import Workbook, load_workbook import os def write_to_excel(two_dimension_...

    python解析XML文件并转存到excel

    转换前的xml文档信息如下:
    处理前的xml文件处理后的效果如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    python代码如下:

    import xml.sax
    from openpyxl import Workbook, load_workbook
    import os
    
    def write_to_excel(two_dimension_list):
        path = os.path.dirname(os.path.realpath(__file__))  # get the parent path of current file
        try:
            wb = load_workbook(path+"\\orderfile.xlsx") # load an existing workbook
            ws = wb.create_sheet()
        except:
            wb = Workbook() # create a new workbook
            ws = wb.create_sheet()
        for c in range(len(two_dimension_list)):
            for r in range(len(two_dimension_list[c])):
                ws.cell(r+1,c+1).value = two_dimension_list[c][r]
        wb.save(path+"\\orderfile.xlsx")
    
    class OrderFileHandler(xml.sax.ContentHandler):
        def __init__(self):
            self.CurrentData=""
            self.dic_orderdata = {}
            self.dic_fileInfo = {}
            self.op_code = []
            self.list_optioncode = []
            self.list_orderdata = []
            self.list_fileInfo = []
            
        # 文档启动时调用
        def startDocument(self):
            print("XML file parse start!")
            
        # 遇到XML开始标签时调用,tag 是标签的名字,attributes 是标签的属性值字典
        def startElement(self,tag,attributes):
            self.CurrentData = tag
            if tag == "orderData":
                self.dic_orderdata['orderId'] = attributes.get('orderId')   # 用 get 方法,如果该键值对不存在会返回None
                self.dic_orderdata['longVIN'] = attributes.get('longVIN')
                self.dic_orderdata['shortVIN'] = attributes.get('shortVIN')
                self.dic_orderdata['dummy'] = attributes.get('dummy')   # 不存在于 xml 文件中
                self.dic_orderdata['softwareLevel'] = attributes.get('softwareLevel')
                self.list_orderdata.append(list(self.dic_orderdata.values()))
                print(self.dic_orderdata)
            elif tag == 'fileInfo':
                self.dic_fileInfo['date'] = attributes.get('date')
                self.dic_fileInfo['comment'] = attributes.get('comment')
                self.dic_fileInfo['author'] = attributes.get('author')
                self.dic_fileInfo['plantId'] = attributes.get('plantId')
                self.dic_fileInfo['firstCreationDate'] = attributes.get('firstCreationDate')
                self.dic_fileInfo['latestCreationDate'] = attributes.get('latestCreationDate')
                self.dic_fileInfo['vehicleState'] = attributes.get('vehicleState')
                self.list_fileInfo.append(list(self.dic_fileInfo.values()))
        
        # 元素结束调用
        def endElement(self, tag):
            if self.CurrentData == "optionCode":
                self.op_code.append(self.optionCode)
            self.CurrentData = ""
            
        # 读取标签之间的字符时调用
        def characters(self, content):
            if self.CurrentData == "optionCode":
                self.optionCode = content
                
        # 解析器到达文档结尾时调用         
        def endDocument(self):
            self.list_orderdata.insert(0,list(self.dic_orderdata.keys()))
            self.list_fileInfo.insert(0,list(self.dic_fileInfo.keys()))
            self.list_optioncode.insert(0,['optionCode'])
            self.list_optioncode.insert(1,self.op_code)
            print("file parse success!")
    
    
    if (__name__ == "__main__"):
        # 创建一个 XMLReader
        parser = xml.sax.make_parser()
        # 关闭命名空间
        parser.setFeature(xml.sax.handler.feature_namespaces, 0)
        # 重写 ContextHandler
        Handler = OrderFileHandler()
        parser.setContentHandler(Handler)
        parser.parse("C:/Users/Administrator/Desktop/file/A0000000.xml")
        print(Handler.list_optioncode)
        write_to_excel(Handler.list_orderdata)
        write_to_excel(Handler.list_fileInfo)
        write_to_excel(Handler.list_optioncode)
    

    如果xml文件较大,涉及到的属性比较多,人工敲代码也比较耗费时间。可以使用以下代码实现代码内容转换。

    import os , sys , re
    
    # 在代码文件相同目录下创建一个test.txt的文件,并将需要转换的xml片段粘贴到该文件中。并根据需要更改str_statement内容。
    def generate_code():
        file = os.path.dirname(os.path.realpath(__file__))+"\\test.txt"
        with open(file,'a+') as f:
            f.seek(0,0) # 将指针放到文件其实位置
            line = str(f.readlines())
            key = re.findall(r'\s(\w*)=',line)
            print(key)
            for item in range(len(key)):
                attrs = key[item]
                str_statement = "self.dic_fileInfo['"+attrs+"'] = attributes.get('"+attrs+"')"+'\n'
                f.write(str_statement)
                
    generate_code()
    

    转换后的test.txt文件内容如下:

    <fileInfo date="20170720065220" comment="RESERVED" author="system" plantId="gcdm" firstCreationDate="2017-07-20T06:52:20+08:00" latestCreationDate="2027-07-20T06:52:00+08:00" vehicleState="6300">
    
    ##上面是代码执行前加入的内容,下面是代码执行后追加的内容##
    
    self.dic_fileInfo['date'] = attributes.get('date')
    self.dic_fileInfo['comment'] = attributes.get('comment')
    self.dic_fileInfo['author'] = attributes.get('author')
    self.dic_fileInfo['plantId'] = attributes.get('plantId')
    self.dic_fileInfo['firstCreationDate'] = attributes.get('firstCreationDate')
    self.dic_fileInfo['latestCreationDate'] = attributes.get('latestCreationDate')
    self.dic_fileInfo['vehicleState'] = attributes.get('vehicleState')
    
    展开全文
  • python 解析xml文件写入excel

    千次阅读 2020-04-03 13:56:04
    本文目的是用python的ElementTree和xlwt解析xml文件并写入excel,在网上和官网看了一些示例,都是一些基本用法,简单例子,个人觉得不够实用,所以整理了此篇博客,把xml文件中的城市环境监测站点名称和代码,将数据...
  • 实现功能: 将XML_PATH文件路径下的xml文件转换为json文件并以xml.json文件保存在同一目录下 参考自https://blog.csdn.net/qq_33196814/article/details/99992771 import json import xmltodict XML_PATH = '/...
  • 复制代码 代码如下:def get_area_list(self): “””获取地域省份和城市名称字典””” page = urllib2.urlopen(self.xml_url).read() area_list = {} root = ElementTree.fromstring(page) #读取xml格式文本 ...
  • 下面介绍python解析xml文件的几种方法,使用python模块实现。 方式1,python模块实现自动遍历所有节点: 复制代码 代码如下:#!/usr/bin/env python # -*- coding: utf-8 -*- from xml.sax.handler i
  • 一 、python模块 xml.dom 解析XML的APIminidom.parse(filename)加载读取XML文件 doc.documentElement获取XML文档对象 node.getAttribute(AttributeName)获取XML节点属性值 node.getElementsByTagName(TagName)获取...
  • 本篇文章主要介绍了Python实现XML文件解析的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 主要介绍了python读取xml文件方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 问题 你想解析某个XML文档文档中使用了XML命名空间。 解决方案 考虑下面这个使用了命名空间的文档: <?xml version="1.0" encoding="utf-8"?> <author>David Beazley <...</h1>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,043
精华内容 26,817
关键字:

python解析xml文件

python 订阅