JAVA中的XML

XML文档内容由一系列标签元素组成
<元素名 属性名**="属性值">元素内容</元素名>**

1.属性值用双引号包裹

2.一个元素可以有多个属性

  1. 属性值中不能直接包含<、"、&

  2. 不建议使用的字符:'、>

注意事项

  1. 所有XML元素都必须有结束标签

2.XML标签对大小写敏感

3.XML必须正确的嵌套

4.同级标签以缩进对齐

5.元素名称可以包含字母、数字或其他的字符

6.元素名称不能以数字或者标点符号开始

7.元素名称中不能含空格

  1. 读取xml文件 SAXReader()

    //将xml文件加载到内存中 XML解析器

    SAXReader saxReader = new SAXReader();

    //document 加载执行xml文档获取Document对象

    Document document = saxReader.read(XML路径);

2.获取XML根节点getRootElement()

复制代码
Element rootElement = document.getRootElement();
复制代码

3.获取当前节点下所有子节点 elements()

复制代码
List<Element> Elist = rootElement.elements();
复制代码
4.根据指定子元素名,获取元素下所有子节点
复制代码
List<Element> Elist = rootElement.elements("books");
复制代码

5.根据指定子元素名,获取子元素对象,如果重复,则获取第一个

复制代码
Element element= rootElement.element("books");

6.设置元素文本内容 setText()

复制代码
newelement.setText("内容");
复制代码
elenent.getText()
7.获取当前节点文本内容 getText()
复制代码
elenent.getText()

8.根据指定子元素名,获取元素中的文本

复制代码
elenent.elementText("book")

9.获取当前节点属性 attributeValue("属性名")

复制代码
elenent.attributeValue("name")

10.创建节点Element对象.addElement("节点名")

复制代码
Element newelement = rootElement.addElement("span");

11.节点添加,修改属性Element对象.addAttribute("节点属性名","属性值")

复制代码
newelement.addAttribute("type","属性值");

12.新XML添加Documen对象

通过DocumentHelper.creatDocument()创建一个Document对象

复制代码
Document read = DocumentHelper.createDocument();

13.设置XML编码

通过OutputFormat的静态方法createPrettyPrint()创建OutputFormat对象,并设置编码集

复制代码
OutputFormat outputFormat=OutputFormat.createPrettyPrint();
outputFormat.setEncoding("UTF-8");

14.写入XML文件

复制代码
//写入XML文件的位置 以及指定的格式
XMLWriter xmlWriter=new XMLWriter(new FileWriter("cs.xml"),outputFormat);
//开始写入XML文件   写入Document对象
xmlWriter.write(document);
xmlWriter.close();

示例

java 复制代码
public static void main(String[] args) {
		//将xml文件加载到内存中 XML解析器
		SAXReader saxReader = new SAXReader();
		try {
			//document 加载执行xml文档获取Document对象	
			Document doc = saxReader.read("src/text01/收藏信息.xml");
			//	获取XML根节点getRootElement()
		Element rootelement = doc.getRootElement();
		//获取根节点的名字
		System.out.println(rootelement.getName());
		//获取根节点下的每个子节点e
		List <Element> Elist = rootelement.elements();
		for(Element e:Elist ) {
			//获取根节点下的子节点的属性信息
			System.out.println(e.attributeValue("name"));
			//获取子节点下的每个子节点e1
			List <Element> type = e.elements();
			for(Element e1:type ) {
				System.out.println(e1.getText());
			}
			System.out.println("-----------");
		}
		
		
		
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
相关推荐
前行的小黑炭5 分钟前
设计模式:为什么使用模板设计模式(不相同的步骤进行抽取,使用不同的子类实现)减少重复代码,让代码更好维护。
android·java·kotlin
Java技术小馆10 分钟前
如何设计一个本地缓存
java·面试·架构
XuanXu1 小时前
Java AQS原理以及应用
java
风象南4 小时前
SpringBoot中6种自定义starter开发方法
java·spring boot·后端
mghio13 小时前
Dubbo 中的集群容错
java·微服务·dubbo
咖啡教室18 小时前
java日常开发笔记和开发问题记录
java
咖啡教室18 小时前
java练习项目记录笔记
java
鱼樱前端18 小时前
maven的基础安装和使用--mac/window版本
java·后端
RainbowSea19 小时前
6. RabbitMQ 死信队列的详细操作编写
java·消息队列·rabbitmq