sxt8.14——XML

来源:互联网 发布:电脑连接不到网络 编辑:程序博客网 时间:2024/06/05 15:07
XML

可扩展标记语言(Extensible Markup Language)
使用简单的标记描述数据()

<?xml version ="1.0" encoding ="UDF-8"? >              //声明定义xml版本编码
<!-- 学生信息  -->
<students>
    <student id="1234567">     //属性
        <name>Tom</name>
             <age>21</age>
</student>
xml存储信息、数据交换、共享

1、XML文档格式:
    元素正确嵌套
    第一行必须声明xml
    只能有一个根节点
    英文字母的大小写有差异
    开始的控制标记与结束的控制标记缺一不可
    属性值的设置必须被“”包围起来

<?xml version ="1.0" encoding ="UDF-8"? >
<!-- xml文件的声明版本号、编码、不是必须提供的,但声明注释必须在第一行  -->
<!-- 根元素(ELEMENT):必须是唯一的  -->
<!-- 根元素组成:开始标签、内容、结束标签  -->
<!-- 属性(Attriubuter   attr):只能存在一个开始的标签  -->
<!-- 注释:  -->
<students>
    <student id ="1234567">
        <name>Tom</name>
        <username>汤姆</username>
        <age>21</age>
        <score>99</score>
    </student>
    <studentid ="1234566">
        <name>Jack</name>
        <username>杰克</username>
        <age>22</age>
        <score>89</score>
    </student>
</students>

2、有效的XML文档
    首先必须是格式良好的
    使用DTD和XCD(XML Schema)定义的语义来约束

<?xmlversion="1.0"encoding="UTF-8"?>
<!-- DTD约束 -->
<!-- 有内置DTD和外部文件DTD -->
<!DOCTYPEStudents[
    <!ELEMENTstudents (students+)>
]>
<students>
    <student></student>
</students>

<?xmlversion="1.0"encoding="UTF-8"?>
<!-- DTD约束 -->
<!-- 有内置DTD和外部文件DTD -->
<!DOCTYPEStudents[
      <!ELEMENTstudent(age,name,scoer)>
]>  
<students>
    <student>
       <name></name>
       <age></age>
       <scoer></scoer>
    </student>
</students>
属性:
<?xmlversion="1.0"encoding="UTF-8"?>
<!-- DTD约束 -->
<!-- 有内置DTD和外部文件DTD -->
<!DOCTYPEStudents[
      <!ATTLIST studentid CDATA #REQUIRED>
]>  
<students>
    <studentid ="01">
       <name></name>
       <age></age>
       <scoer></scoer>
    </student>
</students>

<!-- 有内置DTD和外部文件DTD -->
<!DOCTYPEStudents[
    <!ATTLIST studentid CDATA #REQUIRED>
   <!ELEMENT name(#PCDATA)>
    <!ELEMENTage(#PCDATA)>
    <!ELEMENTscoer(#PCDATA)>
]> 
<students>
    <studentid ="01">
       <name>Tom</name>
       <age>21</age>
       <scoer>98</scoer>
    </student>
</students>

DTD文档类型定义
保证xml文档格式正确性

DTD结构:
以简单文本形式出现
可以存储在独立的文件中,也可以是嵌入xml文档
引用DTD的xml文档将包含<!DOCTYPE>

·DTD外部文件
<!DOCTYPE sxores SYSTEM "scores.dtd">


3、XML优势:
    简单性
    良好的可持续性    
    可扩展性
    可以轻松的跨平台应用
    数据内与其形式的分离


4、XML作用:
    数据存储
    数据交换
    数据配置

5、XML解析技术:
       1):DOM(文档对象模型)
             · 把xml文档映射成一个倒挂的树,每一个节点都是一个对象
          ·  Document  对象代表了整个xml文档,把其他的Node都以一定的顺序包含在Document对象内了,也是对xml文档进行操作的起点
          · Node  DDM结构中最基本的对象代表文档中抽象节点
          · NodeList   一个包含了一个或者多个节点(Node)的列表
         ·  Element   代表xml文档中的标签元素,继承Node对象是Node最主要的子对象


        a、基本步骤:
                创建解析器工厂对象、由解析器
                通过DDM解析工厂对象创建解析对象
                通过解析器对象,解析文档,生产DDM
                解析DDM元素student:   获取根元素student、获取根元素student中所有子元素(包括空白部分和student)、获取student中的信息
          ·缺点:
                    没有封装更多的细节,代码繁琐

2)DOM4j解析xml
        Document:定义xml文档
        Element: 定义xml元素
        Test:定义xml文本节点
        Attribute:定义xml属性
        
    a:基本步骤:
        导入dom4j的jar包
          指定要解析的xml文件  
          把xml文件转换成Document对象                    
        获取节点,节点属性或文本值