欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python连载44-XML其他注意点

程序员文章站 2022-03-12 08:08:13
一、XML文件注意点 1.内容中不能出现尖括号 例如:下面是不合法的 解决方案:使用实体引用,可以理解为转义 2.另一种方法:把含有保留字符的部分放在CDATA块内部,CDATA块把内部信息视为不需要转义 3.常用的需要转义的保留字符和对应的实体应用 &:& ......

一、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其他注意点