XML文档内容由一系列标签元素组成
<元素名 属性名**="属性值">元素内容</元素名>**
1.属性值用双引号包裹
2.一个元素可以有多个属性
-
属性值中不能直接包含<、"、&
-
不建议使用的字符:'、>
注意事项
- 所有XML元素都必须有结束标签
2.XML标签对大小写敏感
3.XML必须正确的嵌套
4.同级标签以缩进对齐
5.元素名称可以包含字母、数字或其他的字符
6.元素名称不能以数字或者标点符号开始
7.元素名称中不能含空格
-
读取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();
}
}