一、XML文件注意点

1.内容中不能出现尖括号

例如:下面是不合法的

<grade>成绩<90</grade>

解决方案:使用实体引用<EntityReference>,可以理解为转义

<grade>成绩&st;90</grade>  #&lt;代表小于号,&gt;代表大于号

2.另一种方法:把含有保留字符的部分放在CDATA块内部,CDATA块把内部信息视为不需要转义

<![CDATA[

  select name,age

  from Student

  where score>80

  ]]>

3.常用的需要转义的保留字符和对应的实体应用

&:&amp;

<:&lt;

>:&gt;

':&apos;

":&quot;

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

4.命名规则

Pascal命名法;用单词命名,首字母大写;大小写严格区分;配对的标签必须是一致的。

5.命名空间

为了防止命名冲突,需要给可能产生冲突的元素添加命名空间

xmlns:xml  name  space  的缩写

例子:


<Schooler xmlns:student="http://my_student"  xmlns="http://my_room">

    <student:Name>LiuYing</student:Name><!--其实这里面的name容易产生歧义,所以定义了两个命名空间来对name加以区分-->

    <Age>23</Age>

    <room:Name>2014</room:Name>

    <Location>1-23-1</Location>

</Schooler>

6.xml访问

(1)读取

SAX(Simple API for XML):基于事件驱动API

利用SAX解析文档设计到解析器和事件处理两部分

​特点:i.快​;ii.​流式读取(通俗的来说按顺序读下去);

DOM​:i.是w3c规定的XML编程接口;ii.一个XML文件在缓存中以树形结构保存,读取​;iii.​用途:定位浏览XML​任何一个节点信息;添加删除相应内容;iv.minidom:

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

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

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

node.getElementByTagName(tag_name):得到一个节点对象集合。

node.childNodes:得到所有孩子节点​。

node.childNodes[indexs].nodeValue​:获取单个节点值。

node.fistNode:得到第一个节点,等价于:node.childInde[0]

node.attributes[tag_name]

三、源码

D30_1_XmlNameSpace.xml

https://github.com/ruigege66/Python_learning/blob/master/D30_1_XmlNameSpace.xml​

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

Python连载44-XML其他注意点的更多相关文章

  1. 用 ElementTree 在 Python 中解析 XML

    用 ElementTree 在 Python 中解析 XML 原文: http://eli.thegreenplace.net/2012/03/15/processing-xml-in-python- ...

  2. python标准库xml.etree.ElementTree的bug

    使用python生成或者解析xml的方法用的最多的可能就数python标准库xml.etree.ElementTree和lxml了,在某些环境下使用xml.etree.ElementTree更方便一些 ...

  3. 在python中处理XML

    XML是实现不同语言或程序之间进行数据交换的协议,XML文件格式如下: <data> <country name="Liechtenstein"> < ...

  4. [python标准库]XML模块

    1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词. ...

  5. python专题-读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...

  6. python模块:xml

    """Core XML support for Python. This package contains four sub-packages: dom -- The W ...

  7. 【304】python专题-读取xml文件

    参考:XML DOM 参考手册(w3school) 参考:python专题-读取xml文件 参考:请问用python怎么修改xml的节点值? 1. 读取标签内的文本(Python) 如下的 xml 文 ...

  8. Python模块 shelve xml configparser hashlib

    常用模块1. shelve 一个字典对象模块 自动序列化2.xml 是一个文件格式 写配置文件或数据交换 <a name="hades">123</a>3. ...

  9. Python连载13-shutile模块(续)和zipfile模块

    一.shutil模块(续) 1.函数:upack_archive() (1)用法:解包操作 (2)格式:shutil.unpack_archive("归档文件地址“,”解包之后的地址“) ( ...

  10. Python连载12-shutil模块

    一.shutil模块 1.函数:copy() (1)用法:复制文件0 (2)格式:copy(来源路径,目标路径) (3)返回值:返回目标路径 (4)注意:拷贝的同时可以给文件重命名 source_pa ...

随机推荐

  1. 完全卸载Android Studio(卸载得干干净净)

    步骤其实很简单,一共三步,但是每一步都需要完成,步骤如下: 打开控制面板或腾讯软件管家等执行常规的卸载操作. 找到SDK的安装目录手动删除SDK. 进入“C:\Users\<你的用户名下> ...

  2. 白话 MVC、MVP、MVVP

    白话 MVC.MVP.MVVP 注意这里单纯的通过例子来讲解 MVC MVP MVVP 这三种架构模式的起源和作用,不牵扯某种特定的语言.具体到各种语言各种软件系统上体现有所不同,但是原理都是这样的. ...

  3. Git介绍与简易搭建

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  4. Flutter速记

    一.安装 参考https://www.jianshu.com/p/cda416e2fc0d         二.换图标   三.打包 参考:https://www.cnblogs.com/shuang ...

  5. 经典案例:如何优化Oracle使用DBlink的SQL语句

    转自 https://blog.csdn.net/Enmotech/article/details/78788083 作者介绍 赵全文 就职于太极计算机股份有限公司,在中央电化教育馆做Oracle D ...

  6. java 报错 System.out.printIn 错误: 找不到符号

    java 运行 System.out.printIn() 报错 ,java System.out.println 这是错误示范 !!! System.out.printIn("仔细看看pri ...

  7. August 25th, 2019. Sunday, Week 35th.

    It's what you do next that counts, not what happens but what you decide to do about it. 重点不是发生了什么,而是 ...

  8. acwing 853. 有边数限制的最短路 模板

    地址 https://www.acwing.com/problem/content/description/855/ 给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数. 请你求出 ...

  9. [CodeForces - 1225D]Power Products 【数论】 【分解质因数】

    [CodeForces - 1225D]Power Products [数论] [分解质因数] 标签:题解 codeforces题解 数论 题目描述 Time limit 2000 ms Memory ...

  10. java之操作集合的工具类--Collections

    Collections是一个操作Set.List和Map等集合的工具类. Collections中提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了对集合对象设置不可变.对集合对象实现同步控 ...