0
点赞
收藏
分享

微信扫一扫

python3之格式化文件xml,json


  -xml,json

  -为了解决不同设备之间信息交换

  -参考资料

  -

python3之格式化文件xml,json_xml

  -XML(extensibleMarkupLanguage),可以扩展标记语言

  ? ? ? -标记语言:语言中使用尖括号括起来的文字字符串标记

  ? ? ? -可扩展:用户可以自己定义需要的标记

  ? ? ? -例如:

  ? ? -是w3c组织制定的一个标准

  ? ? -XML描述的是数据本身,即数据的结构和语义

  ? ? -HTML侧重于如何显示web页面中的数据

  ? ? ? -处理指令(可以认为一个文件内只有一个处理指令)

  ? ? ? ? ? ? ? -以xml关键字开头,在xml文件中只能出现一次并且必须在头部

  ? ? ? ? ? ? ? -内容是与xml本身处理起相关的一些声明或者指令,一般用于声明XML的版本和采用的编码

  ? ? ? ? ? ? ? ? ? ? ? -version属性是必须的

  ? ? ? ? ? ? ? ? ? ? ? -encoding属性用来支出xml解释器使用的编码

  ? ? ? -根元素(一个文件内只有一个根元素)

  ? ? ? ? ? ? ? -在整个xml文件中,可以把它看作一个树形结构

  ? ? ? ? ? ? ? -只有一个根元素,根元素里的都是他的子元素

  ? ? ? -子元素

  ? ? ? -属性

  ? ? ? -内容:表明标签所存储的信息

  ? ? ? -注释:起说明解释的作用;注释不能嵌套在标签里;只有在注释的开始和结尾使用双短横线;三短横线只能出现在开头不能在结尾

python3之格式化文件xml,json_json_02

  -保留字符的处理

  ? ? ? ? -XML中使用的符号可能跟实际符号相冲突,典型的就是左右尖括号

  ? ? ? ? -使用实体引用(EntityReference)来表示保留字符

  ? ? ? ? ?-把含有保留字符的部分放在CDATA块内部,CDATA把内部信息视为不需要转义

  -常用的需要转移的保留字和对应实体引用

  ? ? ? ? -&:&

  ? ? ? ? -<:&It;

  ? ? ? ? ->:>

  ? ? ? ? -' :'

  ? ? ? ? -" :"

  ? ? ? ? 一共五个,每个实体引用都以&开头并且以分号结尾

  -XML标签的命名规则

  ? ? ? ?-Pascal命名法

  ? ? ? ?-用单词表示,第一个字母大写

  ? ? ? ?-大小写严格区分

  ? ? ? ?-配对的标签必须一直

  -命名空间

  ? ? ? ? -为了防止命名冲突

python3之格式化文件xml,json_python_03

  ? ? ? ? -如果归并上述两个内容信息,会产生冲突

python3之格式化文件xml,json_json_04

  -为了避免冲突,需要给可能冲突元素添加命名空间

  -xmlns: xml name space 的缩写

python3之格式化文件xml,json_json_05

  -读取?

  ? ? -XML读取分两个主要技术,SAX,DOM

  ? ? -SAX(Simple API for XML):

  ? ? ? ? ? -基于时间驱动的API

  ? ? ? ? ? -利用SAX解析文档涉及到解析器和事件处理两部分

  ? ? ? ? ? -特点:快;流式读取

  -DOM

  ? ? ? -是w3c规定的XML编程接口

  ? ? ? -一个XML文件在缓存中以树形结构保存,读取

python3之格式化文件xml,json_java_06

  -minidom

  ? ? ? ?-minidom.parse(filename):加载读取的xml文件,filename也可以是xml的代码

  ? ? ? ?-doc.documentElement:获取xml文档对象,一个xml文件只有一个对于的文档对象

  ? ? ? ?-node.getAttribute(attr_name):获取xml节点的属性值

  ? ? ? ?-node.getElementByTagName(tage_name):得到一个节点对象集合

  ? ? ? ?-node.childNodes:得到所有孩子节点

  ? ? ? ?-node.childNodes[index].nodeValue:获取单个节点值

  ? ? ? ?-node.firstNode:得到第一个节点,等价于node.childNodes[0]

  ? ? ? ?-node.attributes[tage_name]

  -

python3之格式化文件xml,json_java_07

? ? ?

  -etree

  ? ? ? ?-以树形结构来表示xml

  ? ? ? ?-root.getiterator:得到相应的可迭代的node集合

  ? ? ? ?-root.iter

  ? ? ? ?-find(node_name):查找指定node_name的节点,返回一个node

  ? ? ? ?-root.findall(node_name):返回多个node_name的节点

  ? ? ? ?-node.tag:node对应的tagename

  ? ? ? ?-node.text:node的文本值

  ? ? ? ?-node.attrib:是node的属性的字典类型的内容

python3之格式化文件xml,json_java_08

? ?

  -更改

  ? ? ? ? -ele.set:修改属性

  ? ? ? ? -ele.append:添加子元素

  ? ? ? ? -ele.remove:删除元素

  -文件to_edit.xml

python3之格式化文件xml,json_开发语言_09

python3之格式化文件xml,json_json_10

? ? ? ?

  -生成创建? ?

  ? ? ? ? -SubElement

  ? ? ? ? -minidom写入

  ? ? ? ? -etree创建

python3之格式化文件xml,json_python_11

  -在线工具

  -https://www.sojson.com/

  -https://www.w3school.com.cn/json/

  -https://www.runoob.com/json/json-tutorial.html

  ?-JSON(JavaScriptObjectNotation)

  -轻量级的数据交换格式,基于ECMAScript

  -json格式是一个键值对形式的数据集

  ? ? ? ? -key:字符串

  ? ? ? ? -value:字符串、数字、列表、json

  ? ? ? ? -json使用大括号包裹

  ? ? ? ? -键值对直接用都好隔开

  -json和python格式的对应

  ? ? ? ?-字符串:字符串

  ? ? ? ?-数字:数字

  ? ? ? ?-队列:list

  ? ? ? ?-对象:dict

  ? ? ? ?-布尔值:布尔值

  -python for json

  ? ? ? ?-json包

  ? ? ? ?-json和Python对象的转换

  ? ? ? ? ? ? ? ?-json.dumps():对数据编码,把python格式表示成json格式

  ? ? ? ? ? ? ? ?-json.loads():对数据解码,把json格式转换成python格式

  -python读取json文件

  ? ? ? ? -json.dump():把内容写入文件

  ? ? ? ? -json.load():把json文件内容读入python

python3之格式化文件xml,json_json_12

  ?

举报

相关推荐

0 条评论