1.xml是什么文件?
是一种配置文件,一种简单的数据存储文件
2.xml标签形式有什么特点?
1.与Html相似 2.xml的标签自定义, 3.不作为页面展示,仅作为数据存储
3.xml有何规范
1.有一个根标签 2.根标签中包含子标签 3.每个标签都有自己的属性
解析xml文件
1.在项目中创建一个lib目录(与src同级) 2.把相应jar包拷贝到lib目录中 3.设置 jar作为项目的library 3..点击File --> 点击Project Structure -->点击Libraries --> 点击左上角 “+” 号 --> 点击java --> 找到你的项目,选择 lib --> 点击OK
读取xml文件
在项目src中建一个xml包,存储xml文件
-
创建SAX解析器SAXReader对象,用于读取xml文件
SAXReader saxReader = new SAXReader();
-
读取xml文件,得到Document对象:
Document document = saxReader.read(文件路径); //xmlFile xml文件
-
通过Document对象获取根元素
Element element = document.getRootElement();
-
通过父节点找子节点,获取节点属性,文本,标签名...
//循环获取user中userId的值(父节点中子节点的值) List<Element> userEle = rootElement.elements("user"); for (Element userId : userEle) { int id = Integer.parseInt(userId.attributeValue("userId")); System.out.println(id); } //单个获取user中userId的值(父节点中子节点的值) Element uId=rootElement.element("user"); int id = Integer.parseInt(uId.attributeValue("userId")); System.out.println(id); //获取user节点个数 System.out.println(userEle.size()); //获取username节点中的文本 Element username = userId.element("username"); String name = username.getText(); System.out.println(name); // String id= String.valueOf(userId.attribute("user")); 强转为String // int id = Integer.parseInt(userId.attributeValue("userId")); 强转为int
写入数据到xml文件
-
创建输出格式对象
OutputFormat format = OutputFormat.createPrettyPrint();
-
设置编码
format.setEncoding("UTF-8");
-
把内存的Document对象保存到xml文件
FileWriter fw = new FileWriter(path); XMLWriter xw = new XMLWriter(fw,format); xw.write(doc);
-
关闭资源
xw.close(); fw.close();
//创建SAX解析器SAXReader对象,用于读取xml文件 SAXReader saxReader = new SAXReader(); //读取xml文件,得到Document对象 Document document = saxReader.read("text/src/xml/User.xml"); //通过Document对象获取根元素 Element rootElement = document.getRootElement(); //选择需要添加数据的父元素 Element userAdd = rootElement.addElement("user"); //添加属性 userAdd.addAttribute("userId","6"); //添加子元素 Element usernameAdd=userAdd.addElement("username"); //添加文本 usernameAdd.setText("anxi"); //添加子元素 Element passwordAdd=userAdd.addElement("password"); //添加文本 passwordAdd.setText("123456"); //创建输出格式对象 OutputFormat format=OutputFormat.createPrettyPrint(); //设置编码 format.setEncoding("UTF-8"); //把内存的Document对象保存到xml文件 FileWriter fw=new FileWriter("text/src/xml/User.xml"); XMLWriter xw=new XMLWriter(fw,format); xw.write(document); //关闭资源 xw.close(); fw.close();