栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【xml 语句】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【xml 语句】

1;我也是小白白,第一次发文章,
2:批处理命令明天更新第二部分
3:可以随时指正我的错误之处,也可以留言提问。我没那么冷漠

XML可扩展标记语言
    • 1作用
    • 2: xml文档的组成说明
    • 3:约束
      • 3.1ddt约束
      • 3.2schema 约束
    • 4:xml解析
      • 4.1 jsoup解析器
        • 4.1.1jsoup三种对象
        • 4.1.2 document 三个方法
        • 4.1.3 element 方法 返回 字符串

1作用

配置文件:使用框架时,书写配置文件配置相关参数。
传输数据: 网络传输层时,java对象只能是字符串的形式进行传输,所以讲java对象转化位xml字符串

2: xml文档的组成说明

1:文档声明— 放在第一行格式为

2:标签可以自定义—必须是英文字母,数字,符号不能以数字开头
3:属性必须用 ‘ ’ ,“ ” 括号括起来
4:文本想要原文显示必须添加 —CDATA(字符数据区域)区



	
		喜羊羊
		1
	

3:约束 3.1ddt约束

俩种约束—DDT约束,Schema约束


ddt 约束—
本地:
网络::
以下是代码实例

ddt约束文档







根据文档写的代码实例



    
        
        刘安
        
        
           18
        
        
            女生
        
    
    

3.2schema 约束

确定版本 < xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
引入文件< xsi:schemaLocation="http://www.itbaizhan.cn/xml student.xsd">文件定义的空间以及具体路径
为约束的标签声明前缀< xmlns:a="http://www.itbaizhan.cn/xml"文件定义的命名空间>




    
    
        
            
        
    

    
        
            
            
            
        
        
    
    
        
            
            
        
    
    
        
            
            
        
    
    
        
            
        
    
 



    
        xiyangyang
        10
        male
    
    
        meiyangyang
        8
        female
    

4:xml解析

解析思想
1:dom对象解析——加内容一次性加载,性格dom树结构
2:sax解析——逐行读取基于驱动,常见在手机中使用。

4.1 jsoup解析器 4.1.1jsoup三种对象

jsoup
解析xml或者html 形成dom树

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;
import java.io.File;
import java.io.IOException;

//测试jsoup 三种解析方式。第一种
public class demo01 {
    public static void main(String[] args) throws IOException {
        //解析本地xml文件需要类加载器
        String path=demo01.class.getClassLoader().getResource("xml/student.xml").getPath();
        //返回一个document对象 不需要转型哈哈
        Document document = Jsoup.parse(new File(path),"utf-8");
        System.out.println(document);

    }
}
//解析字符串太简单。
//解析网络资源
 Document document2 = Jsoup.parse(new URL("https://www.baidu.com"), 10000);
        System.out.println(document2);

解析本地文件
statc document pase(file—对象 “编码格式”)
字符串解析不做介绍哈哈
网页源码解析
static document parse(URL—对象,输入一个时间)

4.1.2 document 三个方法
     String path = Demo2.class.getClassLoader().getResource("com/baizhan/xml/jsoup/student.xml").getPath();
        Document document = Jsoup.parse(new File(path), "utf-8");

        // 根据id获取元素
        Element element1 = document.getElementById("a1");
        System.out.println(element1.text());
        System.out.println("-----------------------");
        // 根据标签获取元素
        Elements elements = document.getElementsByTag("age");
        for (Element element : elements) {
            System.out.println(element.text());
        }
        System.out.println("-----------------------");

        // 根据属性获取元素
        Elements elements1 = document.getElementsByAttribute("number");
        for (Element element : elements1) {
            System.out.println(element);
        }
        System.out.println("--------------------");
        // 根据属性名=属性值获取元素
        Elements elements2 = document.getElementsByAttributeValue("number", "baizhan_0001");
        for (Element element : elements2) {
            System.out.println(element);
        }
        System.out.println("------------------------");
        // 使用css选择器获取元素
        Elements elements3 = document.select("#a1");
        System.out.println(elements3);

// 根据id获取元素
Element element1 = document.getElementById("a1");
// 根据标签获取元素—这个是elements
Elements elements = document.getElementsByTag("age");
// 根据属性获取元素
Elements elements1 = document.getElementsByAttribute("number");
// 根据属性名=属性值获取元素
Elements elements2 = document.getElementsByAttributeValue("number", "baizhan_0001");
// 使用css选择器获取元素
Elements elements3 = document.select("#a1");

4.1.3 element 方法 返回 字符串

Strng text() 纯文本
String html () 获取带有标签的文本
String arr() 获取元素的属性值


### 4.2 Xpath解析

1:作为xml 的路径语言,确定文档中某部分某位置的语言。
2:代码示例

  //将Document对象转为JXDocument对象
        JXDocument jxDocument = new JXDocument(document);
       // 4.JXDocument调用selN(String xpath),获取List对象。
   List jxNodes = jxDocument.selN("//name");
        List jxNodes = jxDocument.selN("//student[@number='baizhan_0002']");
        // 想拿到baizhan_0001的年龄
        List jxNodes = jxDocument.selN("//student[@number='baizhan_0001']/age");
  //      5.遍历List,调用JXNode的getElement(),转为Element对象。
        for (JXNode jxNode : jxNodes) {
            Element element = jxNode.getElement();
  //          6.处理Element对象。
            System.out.println(element);
        }
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/830061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号