例子

import xml.dom.minidom

# 在内存中创建一个空的文档
doc = xml.dom.minidom.Document()
# 创建一个根节点Managers对象
root = doc.createElement('Managers')
# 设置根节点的属性
root.setAttribute('company', 'xx科技')
root.setAttribute('address', '科技软件园')
# 将根节点添加到文档对象中
doc.appendChild(root) managerList = [{'name':'joy', 'age':24, 'sex':'女'},
{'name':'tom', 'age':20, 'sex':'男'},
{'name':'ruby', 'age':30, 'sex':'女'}
] for i in managerList:
nodeManager = doc.createElement('Manager')
nodeName = doc.createElement('name')
# 给叶子节点name设置一个文本节点,用于显示玩文本内容
nodeName.appendChild(doc.createTextNode(str(i['name']))) nodeAge = doc.createElement('Age')
nodeAge.appendChild(doc.createTextNode(str(i['age']))) nodeSex = doc.createElement('sex')
nodeSex.appendChild(doc.createTextNode(str(i['sex']))) # 将各子叶节点添加到父节点Manager中,
# 最后将Manager添加到根节点Managers中
nodeManager.appendChild(nodeName)
nodeManager.appendChild(nodeAge)
nodeManager.appendChild(nodeSex)
root.appendChild(nodeManager) # 开始写xml文件
fp = open('Manager.xml', 'w')
doc.writexml(fp, indent='\t', addindent='\t', newl='\n', encoding='utf-8')

实战获取双色球开奖数据,并 保存为xml格式

# -*- coding: UTF-8 -*-
import requests
import parsel
import xml.dom.minidom
import datetime #base_url='http://www.cwl.gov.cn/cwl_admin/kjxx/findDrawNotice?name=ssq&issueCount=&issueStart=&issueEnd=&dayStart=2003-01-01&dayEnd=2021-02-19&pageNo=14'
base_url='https://kaijiang.78500.cn/ssq/' header={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36',
'referer': 'https://kaijiang.78500.cn/ssq/'
} formdata={
'startqi':'',
'endqi':'',
'year':'',
'action': 'years' } # 在内存中创建一个空的文档
doc = xml.dom.minidom.Document()
# 创建一个根节点shuanseqiu对象
root = doc.createElement('shuanseqiu')
# 设置根节点的属性
root.setAttribute('name', '双色球')
root.setAttribute('time', str(datetime.datetime.now().strftime('%Y-%m-%d')))
# 将根节点添加到文档对象中
doc.appendChild(root) #打开文件
fp = open(r'F:\python_project\爬虫\双色球\shuangseqiu.xml', 'a+') for year in range(2003,2022):
formdata['year']=str(year)
formdata['startqi']=str(year)+'001'
formdata['endqi']=str(year)+'154'
respone=requests.post(base_url,headers=header,data=formdata)
print('==============正在获取%s年彩票数据===============',%year) html_data= parsel.Selector(respone.text) trs= html_data.xpath('//table[@class="kj-list-tab"]/tbody[2]/tr') for item in trs:
if item.xpath('./td[3]/div'):
expect=item.xpath('./td[1]/text()').extract_first()
opentime=item.xpath('./td[2]/text()').extract_first()
opencode=item.xpath('./td[3]/div').xpath('string(.)').extract_first().replace('\n',' ') #print(expect,opencode,opentime) nodeRow = doc.createElement('Row')
node_expect = doc.createElement('expect')
# 给叶子节点name设置一个文本节点,用于显示玩文本内容
node_expect.appendChild(doc.createTextNode(expect))
node_opencode = doc.createElement('opencode')
node_opencode.appendChild(doc.createTextNode(opencode))
node_opentime = doc.createElement('opentime')
node_opentime.appendChild(doc.createTextNode(opentime)) # 将各子叶节点添加到父节点Row中,
# 最后将Row添加到根节点shuangseqiu中
nodeRow.appendChild(node_expect)
nodeRow.appendChild(node_opencode)
nodeRow.appendChild(node_opentime)
root.appendChild(nodeRow) #写入文件
doc.writexml(fp, indent='\t', addindent='\t', newl='\n', encoding='utf-8') fp.close()

python存储xml格式数据的更多相关文章

  1. R语言XML格式数据导入与处理

    数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...

  2. yii2 输出xml格式数据

    作者:白狼 出处:http://www.manks.top/yii2_xml_response.html.html本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文 ...

  3. Android使用DOM生成和输出XML格式数据

    Android使用DOM生成和输出XML格式数据 本文主要简单解说怎样使用DOM生成和输出XML数据. 1. 生成和输出XML数据 代码及凝视例如以下: try { DocumentBuilderFa ...

  4. python打印表格式数据,留出正确的空格和段落星号或注释

    python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...

  5. python中json格式数据输出实现方式

    python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...

  6. Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

  7. iOS开发之解析XML格式数据

    XML格式的数据是一种数据的传输格式.因为它方便编写.结构清晰,所以深受程序猿的喜爱,非常多人都喜欢使用XML格式数据传输或者作为程序的配置信息. 如今我将来实如今iOS中解析XML格式数据,语言使用 ...

  8. Controller接收处理json、xml格式数据

    1.RequestBody接收json格式的数据,并直接转为对象. User.java使用lombok依赖包 @Data @AllArgsConstructor @NoArgsConstructor ...

  9. PHP生成和获取XML格式数据

    在做数据接口时,我们通常要获取第三方数据接口或者给第三方提供数据接口,而这些数据格式通常是以XML或者JSON格式传输,本文将介绍如何使用PHP生成XML格式数据供第三方调用以及如何获取第三方提供的X ...

  10. python打印表格式数据-星号或注释

    python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...

随机推荐

  1. [EULAR文摘] 利用蛋白组学技术开发一项蛋白评分用于预测TNFi疗效

    利用蛋白组学技术开发一项蛋白评分与临床参数联用可以增强对TNF拮抗剂对RA疗效的预测效能 Cuppen BV, et al. EULAR 2015. Present ID: OP0130. 背景: 对 ...

  2. Layui 表单元素考到页面样式不生效

    表单元素必须要标记在表单里面(calss="layui-form") 例如: <div class="layui-form"> <input ...

  3. 记一次 .NET某家装ERP系统 内存暴涨分析

    一:背景 1. 讲故事 前段时间微信上有一位老朋友找到我,说他的程序跑着跑着内存会突然爆高,有时候会下去,有什么会下不去,怀疑是不是某些情况下存在内存泄露,让我帮忙分析一下,其实内存泄露方面的问题还是 ...

  4. 分布式任务调度平台XXL-JOB安装

    安装xxl-job-admin 1.拉取镜像 #拉取镜像 docker pull xuxueli/xxl-job-admin:2.3.0 #新建挂载目录 mkdir /usr/local/xxl-jo ...

  5. LeetCode-432 全O(1)的数据结构

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/all-oone-data-structure 题目描述 请你设计一个用于存储字符串计数的数据结构 ...

  6. C#判断useragent是pc还是手机端

    public static bool CheckAgent(string userAgent) { bool flag = false; string[] keywords = { "And ...

  7. P2910 [USACO08OPEN]Clear And Present Danger S题解

    bfac3402-1150-46c7-8798-f545389dbac3 其使用最简单的方法做就好了忘了啥名字,类似于dp 给个代码 #include<bits/stdc++.h> usi ...

  8. Word19 撰写企业质量管理论文office真题

    1.看到题目要求:打开考试文件下的素材文档"WPS.docx"文件,后续操作均基于此文件,否则不得分. 2.这一步的操作非常简单,打开文件目录进行双击打开即可完成操作. 3.看到题 ...

  9. FMC子卡设计资料原理图:FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡

    FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡 一.产品概述 ADRV9002 是一款高性能.高线性度.高动态范围收发器,旨在针对性能与功耗系统进行优化.该设备是可配置的,非常适合要 ...

  10. sqlite查看所有表

    查询所有数据表名 SELECT name _id FROM sqlite_master WHERE type ='table'