• xml学习笔记


    1、HTML与XML的区别

    (1) html语言中存在着几个缺陷(松散,不区分大小写,可以不匹配),针对这个不足点提出了xml(extend markup lanuage)标签语言(可扩展标记语言)。
      html的标记是固定的,但是XML中的标记是不固定的,可扩展的。
      html负责页面结构,

    (2) xml来描述关系的数据结构
        1、作为软件的配置文件)
        xml配置使用场景:
            1)框架(strust2,hibernate,spring)中,xml作为框架的配置文件
            2)Tomcat服务器软件配置文件(web.xml,server.xml)
        2、装载数据,作为一种小型的数据库;
    xml的语法:
        标签:
            <student></student>
            <student/>    <!--表示一个空标签-->
        标签:
        1)分带标签体的标签,也有空标签
        2)标签是区分大小写的
        3)标签一定要配对
        4)标签中不能含有空格
        5)不能使用数字开头
        6)可以使用下划线开头
        7)在一个xml文件中,有且只有一个根标签。
        
        属性:
        <student id="1">student</student> 其中的ID部分就是属性部分
        1)属性值一定要用单引号或者是双引号包含,不能省略,也不能单双混用
        2)一个标签里面可以包含多个属性,但是不能出现同名的属性
        注释:
        xml的注释和html的注释是一样的。
        文档声明:
        <?xml version="1.0" encoding="utf-8"?>
        version:xml的版本号
        encoding:表示解析xml文档所使用的码表
        
        xml的编码问题:
        1)xml的内容保存编码
        2)解析xml文件内容的编码
        以上两个编码一定要保持一致,才能避免中文乱码的问题

        转义字符:
        和html的转义字符一致
        <student id="1">student&lt;name&gt;张三&lt;/name&gt;</student>
        
        CDATA块:
        将CDATA中的内容原样输出。
        <![CDATA[
        <student id="1">student&lt;name&gt;张三&lt;/name&gt;</student>
        ]]>
        
        处理指令(基本上过时了,这个在功能上和html是相同的):
        只显示标签内容,不显示标签名称
        <?xml-stylesheet type="text/css" href=""?>
        
        XML解析方式:
        1)DOM解析
         当xml解析引擎解析完xml文件后,会把xml文件的各个部分分装成对象,通过对象获取xml文件信息,甚至改变xml文件的
         DOM解析工具:
         sun官方jaxp
         jdom
         dom4j工具:三大框架读取xml文件的程序。
        2)SAX解析
        
        XML中空格和换行都会被解析到,但是Java中的空格和换行是没有意义的,只是为了代码格式的美观。
       
        XML解析
            采用的是dom的解析方法:dom4j的工具
        其解析步骤主要包括:
            查:
                标签:
                element("name");
                elements("name");
                elements();
                getName();标签名称
                getRootElement();根标签
                属性:
                atrributeValue("name")
                atrribute("name")
                atrributes()属性对象
                getName()
                getValue()
                文本:
                getText()当前标签文本
                elementText("name")子标签文本
                
            增:
                DocumentHelper.createDocument() 文档
                addElement("name");标签
                addAtribute("name","value")属性
            改:
                setvalue()修改属性值
                addAtribute()修改属性值
                setText()修改文本内容
            删除:
                detach() 删除标签、属性值
                getParent().remove(标签/属性值)
     

  • 相关阅读:
    ADERA3 省选模拟赛 SPOJ LMCONST
    TYVJ 1730 二逼平衡树 线段树套平衡树
    BZOJ 1059 [ZJOI2007]矩阵游戏 二分图匹配
    BZOJ 1056 [HAOI2008]排名系统 Splay+Hash
    OI教会我的
    BZOJ 1055 [HAOI2008]玩具取名 DP
    BZOJ 1058 [ZJOI2007]报表统计 Splay
    为自己而奋斗
    [总结]高斯消元&XOR方程
    我 的 2013
  • 原文地址:https://www.cnblogs.com/yongdongma/p/10099338.html
Copyright © 2020-2023  润新知