返回顶部
首页 > 资讯 > 后端开发 > Python >使用python 写xml文件
  • 555
分享到

使用python 写xml文件

文件pythonxml 2023-01-31 06:01:53 555人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

''' 开发一个给大百度的接口,各种要求,写一个xml文件,倒是不是很难 ''' import xml,datetime,codecs import xml.dom.minidom as minidom def covert_to_un

'''
开发一个给大百度的接口,各种要求,写一个xml文件,倒是不是很难
'''
import xml,datetime,codecs
import xml.dom.minidom as minidom


def covert_to_unicode(msg):  
    '''''将转入的编码转换为unicode,只接受utf-8和unicode编码'''  
    __re_str = None  
    if isinstance(msg, unicode):  
        __re_str = msg  
    elif isinstance(msg, str):  
        try:  
            __re_str = msg.decode('utf-8')  
        except Exception, errinfo:  
            raise Exception, '%s,%s' % (errinfo, str(msg))  
    else:  
        raise Exception, '%s 必须为str或unicode类型' % msg  
    return __re_str 
   
class CreateCovXml():  
    def __init__(self, cov_xml_path):  
        self.__cov_path = cov_xml_path  
        self.__dom = None  
        self.__root = None  
      
    def _covert_code(self, msg):  
        return covert_to_unicode(msg)  
      
    def __create_new_node(self, node_name, node_text = None):  
        '''''为xml文件添加一个结点,其中node_text可以为空'''          
        if self.__dom == None:  
            raise Exception, '创建结点时,document对象还不存在'  
        # 创建的是结点只有结点名  
        if None == node_text:  
            return self.__dom.createElement(self._covert_code(node_name))  
        else:  
            newNode = self.__dom.createElement(self._covert_code(node_name))  
            newText = self.__dom.createTextNode(self._covert_code(node_text))  
            newNode.appendChild(newText)  
            return newNode  
              
    def begin_cov(self):  
        '''''begin_cov(self) --> None 创建coverage.xml文档和根结点'''  
        try:  
            impl = minidom.getDOMImplementation()  
            self.__dom = impl.createDocument(None, u'urlset', None)  
            self.__root = self.__dom.documentElement  
        except:  
            traceback.print_exc()  
            raise Exception, '创建coverage xml根结点失败'  
          
    def add_cov(self, url, title, priority, Horizontalpicture1,dayRetrievalstatus,channel,Largeblock,smallblock,blocknumber):  
        if self.__root == None:  
            raise Exception, '创建结点时,root结点不存在对象不存不存在'  
        urlstart_node = self.__create_new_node("url")
        loc_node = self.__create_new_node("loc")
        lastmod_node = self.__create_new_node("lastmod")
        changefreq_node = self.__create_new_node("changefreq")
        priority_node = self.__create_new_node("priority",priority)
        data_node = self.__create_new_node("data")
        display_node = self.__create_new_node("display")
        channel_node = self.__create_new_node("channel",channel)
        Largeblock_node = self.__create_new_node("Largeblock",Largeblock)
        smallblock_node = self.__create_new_node("smallblock",smallblock)
        blocknumber_node = self.__create_new_node("blocknumber",blocknumber)
        title_node = self.__create_new_node("title",title)
        subtitle_node = self.__create_new_node("subtitle")
        url_node = self.__create_new_node("url",url)
        Horizontalpicture1_node = self.__create_new_node("Horizontalpicture1",Horizontalpicture1)
        Horizontalpicture2_node = self.__create_new_node("Horizontalpicture2")
        Horizontalpicture3_node = self.__create_new_node("Horizontalpicture3")
        singer_node = self.__create_new_node("singer")
        area_node = self.__create_new_node("area")
        timelength_node = self.__create_new_node("timelength")
        episode_node = self.__create_new_node("episode")
        updatetime_node = self.__create_new_node("updatetime")
        briefintroduction_node = self.__create_new_node("briefintroduction")
        daySearchvolume_node = self.__create_new_node("daySearchvolume")
        dayRetrievalstatus_node = self.__create_new_node("dayRetrievalstatus",dayRetrievalstatus)
        sitename_node = self.__create_new_node("sitename")
         
        self.__root.appendChild(urlstart_node)
        urlstart_node.appendChild(loc_node)
        urlstart_node.appendChild(lastmod_node)
        urlstart_node.appendChild(changefreq_node)
        urlstart_node.appendChild(priority_node)
        urlstart_node.appendChild(data_node)
        data_node.appendChild(display_node)
        display_node.appendChild(channel_node)
        display_node.appendChild(Largeblock_node)
        display_node.appendChild(smallblock_node)
        display_node.appendChild(blocknumber_node)
        display_node.appendChild(title_node)
        display_node.appendChild(subtitle_node)
        display_node.appendChild(url_node)
        display_node.appendChild(Horizontalpicture1_node)
        display_node.appendChild(Horizontalpicture2_node)
        display_node.appendChild(Horizontalpicture3_node)
        display_node.appendChild(singer_node)
        display_node.appendChild(area_node)
        display_node.appendChild(timelength_node)
        display_node.appendChild(episode_node)
        display_node.appendChild(updatetime_node)
        display_node.appendChild(briefintroduction_node)
        display_node.appendChild(daySearchvolume_node)
        display_node.appendChild(dayRetrievalstatus_node)
        display_node.appendChild(sitename_node)
								
    def end_cov(self):  
        try:  
            f = open(self.__cov_path, 'wb')  
            writer = codecs.lookup('utf-8')[3](f)  
            self.__dom.writexml(writer, encoding='utf-8')    
            writer.close()  
            f.close()  
            return True  
        except Exception, err:  
            traceback.print_exc()   
            raise Exception, '写coverage.xml文件出错'
#测试用例
test = CreateCovXml(result_filename+'.xml')  
		test.begin_cov()  
		priority_count = 0
		for linkInfo in result_linkinfos:
			priority_count = priority_count + 1
			test.add_cov(  
	            	url = linkInfo.getTarget(),  
	            	title = linkInfo.getTitle(),  
	            	priority = str(priority_count),                      
	            	Horizontalpicture1 = linkInfo.getDetailPicUrl(),
	            	dayRetrievalstatus = "1",
	            	channel = "资讯",
	            	Largeblock = "带图区",
	            	smallblock = "焦点小图",
	            	blocknumber = "3-16"
	        	    )  
		test.end_cov() 
	os.chdir(basePath)


--结束END--

本文标题: 使用python 写xml文件

本文链接: https://lsjlt.com/news/190115.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用python 写xml文件
    ''' 开发一个给大百度的接口,各种要求,写一个xml文件,倒是不是很难 ''' import xml,datetime,codecs import xml.dom.minidom as minidom def covert_to_un...
    99+
    2023-01-31
    文件 python xml
  • python-yml文件读写与xml文件读写
    目录一、python-yml文件读写更新yml的数值二、python-xml文件读写寻找 XML 节点修改 XML 数据建立 XML 结构XPath 搜索XML 排版一、python...
    99+
    2024-04-02
  • 如何使用Python读取xml文件
    目录 什么是xml?获得标签属性获得子标签获得标签属性值获得标签对之间的数据方法一方法二 什么是xml? xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自...
    99+
    2023-05-15
    Python读取 Python读取xml Python读取文件
  • 怎么使用Python读取xml文件
    本篇内容介绍了“怎么使用Python读取xml文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 什么是xml?xml即可扩展标记语言,它可...
    99+
    2023-07-06
  • python读写xml文件实例详解嘛
    目录xml文件:country.xmlxml文件解读读取文件:增加新节点及修改属性值和文本总结xml文件:country.xml <data> <country ...
    99+
    2024-04-02
  • Python操作XML文件的使用指南
    目录什么是 XMLPython XML 解析模块xml.etree.ElementTree 模块使用 parse() 函数使用 fromstring() 函数寻找感兴趣的元素修改 X...
    99+
    2024-04-02
  • 一文详解测试Python读写xml配置文件
    前言: xml也是常用的配置文件格式之一,Python中的xml.etree.ElementTree模块支持解析和创建xml数据。xml格式不再赘述,本文采用参考文献1中的示例xml...
    99+
    2024-04-02
  • Python:Dom生成XML文件(写X
    在python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件。         在生成XML文件中,我们主要使用下面的方法来完成。...
    99+
    2023-01-31
    文件 Python Dom
  • Java怎么读写XML文件
    本篇内容介绍了“Java怎么读写XML文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!import java.util.*;import ...
    99+
    2023-06-03
  • python写xml
    dom写xml 1.引入包 import xml.dom.minidom 2.writexml方法 writexml(writer, indent, addindent, newl, encoding) writer是文件对...
    99+
    2023-01-31
    python xml
  • 使用Python读写csv文件
    简介:CSV (Comma Separated Values) 格式是电子表格和数据库中最常见的输入、输出文件格式。又称逗号分隔值(Comma-Separated Values,CS...
    99+
    2024-04-02
  • Python处理XML文件
    目录 🌲 前言🌲 准备🌲 xml.dom对象1. Document2. Node3. NodeList4. Element5. Attr &...
    99+
    2023-09-10
    xml python
  • python操作Xml文件
    一、简单介绍Xml是实现不同语言或程序进行数据交换的协议,跟json差不多,但是xml远远先于json出现,例如在很多传统的金融行业的很多系统接口还主要是xml格式。Xml的格式如下:<Settings modified="2016-...
    99+
    2023-01-31
    操作 文件 python
  • python读取xml文件
    什么是xml?xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。abc.xml<xml version="1.0" encoding="utf-8"> <catalo...
    99+
    2023-01-31
    文件 python xml
  • Java读写XML文件例子2
    import java.util.*;import javax.xml.parsers.*;import org.w3c.dom.*;import java.io.*;import org.apache.crimson.tree.XmlDo...
    99+
    2023-06-03
  • python使用技巧-文件读写
    前言: 在Python中,要对一个文件进行操作,只需要使用内置的open函数打开文件即可。open函数接受文件名和打开模式作为参数,返回一个文件对象。工程师通过文件对象来操作文件,完...
    99+
    2024-04-02
  • Python使用openpyxl读写excel文件
    需求:读入sample.xlsx中的信息,通过分析其中的身份证号信息,得到每个人的出生日期,性别,年龄,所在省份,星座,属相等等,将结果写入到另一个excel文件中。 首先,要使用openpyxl第三方库需要安装,安装方法如下: pip i...
    99+
    2023-09-11
    python
  • 使用Python读写多个sheet文件
    目录前言读取文件前言 怎么样使用Python提高自己的工作效率,今天就给大家分享这个吧。我们经常用pandas读入读写excel文件,经常会遇到一个excel文件里存在多个sheet...
    99+
    2024-04-02
  • 怎么使用Python读写CSV文件
    这篇文章主要介绍了怎么使用Python读写CSV文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用Python读写CSV文件文章都会有所收获,下面我们一起来看看吧。1. 读取CSV文件 csv.read...
    99+
    2023-07-02
  • Java中使用DOM4J生成xml文件并解析xml文件的操作
    目录一、前言二、准备依赖三、生成xml文件生成标准展示四、解析xml文件五、总结一、前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作