zoukankan      html  css  js  c++  java
  • Python连载44-XML其他注意点

    一、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.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    P3501 [POI2010]ANT-Antisymmetry
    P3498 [POI2010]KOR-Beads(hash表)
    UVA10298 Power Strings
    UVA1714 Keyboarding(bfs)
    P4289 [HAOI2008]移动玩具(bfs)
    Ubuntu分辨率太小的解决方案
    Ubuntu分辨率太小的解决方案
    主板亮红灯,显示器没信号
    主板亮红灯,显示器没信号
    VS注释与取消注释快捷键
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/11723605.html
Copyright © 2011-2022 走看看