JAVA小白的崛起之路(十七)xml
概念
可扩展标记语言,xml是互联网数据传输的重要工具,它 可以跨越互联网任何的平台,不受编程语言和操作系统 的限制,可以说它是一个拥有互联网最高级别通行证的 数据携带者。
特点
xml与操作系统、编程语言的开发平台都无关;
实现不同系统之间的数据交互。
作用
- 配置应用程序(servlet 配置,框架环境配置等)和网站
- 数据交互
- Ajax基石
格式良好的 XML 文档需满足以下条件
- 必须有XML声明语句 (第一行)
- 必须有且仅有一个根元素
- 标签成对
- 元素正确嵌套
拥有正确语法的 XML 被称为“形式良好”的 XML。 通过某个 DTD 进行了验证的 XML 是“合法”的 XML。
xml解析
采用jar包 DOM4J需要导包,读取xml信息。
- 创建Reader对象
- 加载XML
- 获取根节点
- 遍历获取属性值 获取id
获得document 对象
SAXReader reader=new SAXReader();
Document document=reader.read(new File("input.xml"));
操作xml文档节点
Element rootElm=document.getRootElement();//获得根节点
Element memberElm=root.element("member"); //获得子节点
String text=memberElm.getText();//获得节点文本
Element ageElm=newMemberElm.addElement("age");//添加子节点
ageElm.setText("29");//设置节点文本
parentElm.remove(childElm);//)删除某节点
实例
public class XMLDemo01 {
public static void main(String[] args) throws Exception {
//1.创建SAXReader对象
SAXReader reader = new SAXReader();
//2.加载某个xml文件
Document document = reader.read(new File("src/persons.xml"));
//3.获取根元素
Element root = document.getRootElement();
System.out.println("根节点: "+root.getName());
//遍历|获取子节点
List<Element> list = root.elements();
//遍历根元素的第一层子节点
list.forEach((e)->{
System.out.println("标签 名称: "+e.getName());
System.out.println("id属性值: "+e.attributeValue("id")); //根据属性名字获取属性值
//获取第二层子节点
List<Element> list2 = e.elements();
//遍历 拿到每一个姓名,年龄,性别
for(Element ele:list2){
System.out.println(ele.getName()+"----->"+ele.getText());
}
});
//System.out.println(new File("src/persons.xml").exists()); 测试路径问题,相对当前项目下
}
}