java的XML语法是什么及怎么使用

这篇文章主要介绍“java的XML语法是什么及怎么使用”,在日常操作中,相信很多人在java的XML语法是什么及怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java的XML语法是什么及怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站专注于企业全网营销推广、网站重做改版、岱山网站定制设计、自适应品牌网站建设、HTML5商城开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为岱山等各大城市提供网站开发制作服务。

1. XML的基本语法
  • 有且只有一个根元素

  • XML文档声明必须放在文档的第一行

  • 所有标签必须成对出现——有开始标签和结束标签

  • XML标签严格区分大小写

  • XML必须正确嵌套

  • XML中的属性必须加引号

  • XML中,一些特殊字符必须使用“实体”。

  • XML中可以使用注释

2. 可以使用浏览器来校验语法

将XML文件拖入浏览器,或者用浏览器打开。

  • 有错的显示

  • java的XML语法是什么及怎么使用

  • 正确的显示

  • java的XML语法是什么及怎么使用

3. XML元素

XML元素是开始标签到结束标签的部分。
一个元素可以包含:

  1. 其他元素

  2. 文本

  3. 属性

  4. 以上的混合

4. XML的命名规则
  • 名称可以包含字母,数字及其他字符。

  • 名称不能以数字或者标点符号开始。

  • 名称不能以字母xml开始。

  • 名称不能包含空格。

5. Schema
  • DTD文档类型定义
    用于验证一个XML文档是否有效。



        
        
        
        
        
]>

    
        神雕侠侣
        金庸
        44.2
    
    
        倚天屠龙记
        金庸
        66.8
    
  • Schema
    是DTD的替代者,名叫XML Schema,用于描述XML文档结构,比DTD强大。XML Schema支持数据类型。

Schema使用XML来验证一个XML是否遵循XML语法
Schema可使用能处理XML文档的工具处理
Schema大大扩充了数据类型,而且还可以自定义数据类型。
Schema支持元素的继承
Schema支持属性组

Schema的文档结构



    

所有的Schema文档都使用schema作为其根元素。
http://www.w3.org/2001/XMLSchema用于验证当前Schema文档的命名空间(用于验证Schema本身)。xs是定义的前缀。

  • 如何使用Schema验证XML文件的有效性

XML文件:books.xml



    
        神雕侠侣
        金庸
        44.2
    
    
        倚天屠龙记
        金庸
        66.8
    

Schema文件:books.xsd



    
        
            
                
                    
                        
                            
                            
                            
                        
                        
                    
                
            
        
    

使用java根据schema来验证xml的有效性:

package demo;

import org.xml.sax.SAXException;

import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;
import java.io.File;
import java.io.IOException;

public class TestXML {
    public static void main(String[] args) throws SAXException {
        SchemaFactory sch=SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
        File schemaFile=new File("src/demo/books.xsd");
        Schema schema=sch.newSchema(schemaFile);
        Validator validator=schema.newValidator();
        Source source=new StreamSource("src/demo/books.xml");
        try {
            validator.validate(source);
            System.out.println("检查成功");
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("验证失败");
        }
    }
}

验证失败将抛出异常。

6. XPATH
  • 软件包

dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
  • 使用案例

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import java.util.List;

public class Test01 {
    public static void main(String[] args) throws DocumentException {
        SAXReader reader = new SAXReader();
        Document doc = reader.read("src/xpath/demo/books.xml");
        //取单个节点
        Node node = doc.selectSingleNode("//author");
        System.out.println("节点的名称:" + node.getName() + "\t" + node.getText());
        System.out.println("=========================");
        //取所有满足要求的节点
        List list = doc.selectNodes("//author");
        for (Node n : list) {
            System.out.println("节点的名称:" + n.getName() + "\t" + n.getText());
        }
        System.out.println("=========================");
        //选取属性
        List attrs = doc.selectNodes("//book/@id");
        for (Attribute attr : attrs) {
            System.out.println("属性的名称:" + attr.getName() + "\t" + attr.getText());
        }
    }
}

到此,关于“java的XML语法是什么及怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


本文标题:java的XML语法是什么及怎么使用
文章转载:http://bzwzjz.com/article/gchcec.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计 网站建设开发 定制级高端网站建设 营销型网站建设 成都网站建设公司 重庆网站制作 公司网站建设 四川成都网站制作 重庆网站制作 成都网站设计 网站建设方案 成都网站设计 重庆手机网站建设 企业网站设计 梓潼网站设计 成都网站建设公司 成都网站设计 手机网站制作 营销网站建设 手机网站制作 成都网站设计 成都网站建设