Java读取XML文件

一、定义XML文件

1.必须有声明语句

XML声明是XML文档的第一句,其格式如下

<?xml version="1.0" encoding="utf-8" ?>

2.XML文档有且只有一个根元素

良好的XML文档必须只有一个根元素,就是紧接这声明后面接着的第一个元素,其他元素都是这个根元素的子元素,根元素完全包括文档中其他所有的元素。

3.注意大小写

在XML文档中,大小写是有区别的。"A"和"a"是不同的标记。

4.所有的标记必须有相应的结束标记

所有标记必须成对出现,有一个开始标记,就必须有一个结束标记,否则将被视为错误。

5.属性值使用引导

所有属性值必须加引号(可以是单引号,也可以是双引号,建议使用双引号),否则将被视为错误。

6.XML中可以加注释

注释格式:<!-- -->

<?xml version="1.0" encoding="utf-8" ?>
<!--
注释部分
version:版本号
encoding:文档编码
students:根标签 根元素
student:子标签 子元素
-->
<students>
    <student id="1">
        <name>丽丽</name>
        <age>18</age>
        <sex>女</sex>
        <score>73.6</score>
    </student>
    <student id="2">
        <name>露露</name>
        <age>17</age>
        <sex>女</sex>
        <score>93.6</score>
    </student>
    <student id="3">
        <name>明明</name>
        <age>19</age>
        <sex>男</sex>
        <score>88.7</score>
    </student>
</students>

二、解析XML

1.解析工具

链接:https://pan.baidu.com/s/1hpb3H8LbU7-6XGLrhBG2bg?pwd=w435 
提取码:w435

2.代码

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.File;
import java.util.Iterator;
import java.util.List;

public class Test {
    public static void main(String[] args) throws DocumentException {
        //读取XML文件
        //1.创建一个xml解析对象:就是一个流
        SAXReader sr=new SAXReader();
        //2.读取xml文件,返回document对象
        Document dom=sr.read(new File("TestFirstModule/src/students.xml"));
        System.out.println(dom);
        //3.获取根节点(根节点只有一个!)
        Element studentsEle=dom.getRootElement();
        //4.获取根节点下的多个字节点
        Iterator<Element> it1=studentsEle.elementIterator();
        while (it1.hasNext()){
            //4.1 获取子节点
            Element studentEle=it1.next();
            //4.2 获取字节的的属性
            List<Attribute> atts=studentEle.attributes();
            for (Attribute att:atts){
                System.out.println("该子节点的属性:"+ att.getName()+"---"+att.getText());
            }
            //4.3 获取子节点的子节点
            Iterator<Element> it2=studentEle.elementIterator();
            while (it2.hasNext()){
                Element eles=it2.next();
                System.out.println("节点:"+eles.getName()+"---"+eles.getText());
            }
            //5.每组输出后换行
            System.out.println();

        }
    }
}

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java读取XML文件有多种方式,其中比较常用的是DOM和SAX两种方式。 DOM方式: 1. 加载XML文件 ```java DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse(new File("xmlfile.xml")); ``` 2. 获取根节点 ```java Element root = document.getDocumentElement(); ``` 3. 获取子节点 ```java NodeList nodeList = root.getChildNodes(); ``` 4. 遍历节点 ```java for (int i=0; i<nodeList.getLength(); i++) { Node node = nodeList.item(i); if (node.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element) node; // 获取节点内容 String content = element.getTextContent(); // 获取节点属性 String attribute = element.getAttribute("attributeName"); } } ``` SAX方式: 1. 创建SAX解析器 ```java SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); ``` 2. 实现处理器类 ```java class MyHandler extends DefaultHandler { @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { // 处理开始标签 } @Override public void endElement(String uri, String localName, String qName) throws SAXException { // 处理结束标签 } @Override public void characters(char[] ch, int start, int length) throws SAXException { // 处理节点内容 } } ``` 3. 解析XML文件 ```java saxParser.parse(new File("xmlfile.xml"), new MyHandler()); ``` 以上是Java读取XML文件的基本方法,具体使用可以根据需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值