【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
**开源地址:https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB **
电视机
2000
2
面包
20
2
- 特殊字符与CDATA标签
标签体中出现"<“、” > "特殊字符,会破坏文档结构
解决办法一:实体引用
| 实体引用 | 对应符号 | 说明 |
| — | — | — |
| &It; | < | 小于 |
| > | > | 大于 |
| & | & | 和号 |
| ' | ’ | 单引号 |
| " | " | 双引号 |
解决办法二:CDATA标签
<![CDATA[ xxxxxxxx xxxxxxx ]]>- 有序的子元素
在Java里面我们使用的是Dom4j解析XML。
Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
- Java读取XML
package com.study.dom4j;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4j {
public void readXML(){
String file = “E:/JavaWeb/myxml/src/1.xml”;
SAXReader reader = new SAXReader();
try {
Document document = reader.read(file);
Element root = document.getRootElement();
List employees = root.elements(“part”);
for(Element employee : employees) {
Attribute att = employee.attribute(“id”);
System.out.println(att.getText());
System.out.println(employee.elementText(“name”));
System.out.println(employee.elementText(“age”));
System.out.println(employee.elementText(“sex”));
}
}catch(DocumentException e) {
}
}
public static void main(String[] args) {
Dom4j dom4j = new Dom4j();
dom4j.readXML();
}
}
- Java写入XML
package com.study.dom4j;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4j {
public void writeXML(){
String file = “E:/JavaWeb/myxml/src/1.xml”;
SAXReader reader = new SAXReader();
try {
Document document = reader.read(file);
Element root = document.getRootElement();
Element part = root.addElement(“part”);