基本概念:XML(eXtensible Markup Language),是一种可扩展的标记语言,类似HTML(超文本标记语言) 查询该xml的元素 修改方法 结果 删除方式:
前期工作:
//将每个方法中需要用的定义成全局常量 File file=null; SAXReader saxReader=null; Document doc=null; Element contacts=null; @Before public void testBefore() throws Exception { //首先获取xml路径 file = new File("xml/contacts.xml"); // System.out.println(file.getAbsolutePath());//得到绝对路径 // 然后创建SAXReader 对象 saxReader = new SAXReader(); // System.out.println(saxReader); // 之后调用read方法,传入需要解析的xml文件 doc = saxReader.read(file); // System.out.println(doc); // System.out.println(contacts); contacts = doc.getRootElement();//得到xml的根节点 // System.out.println(contacts); }
@Test public void testQuery() throws Exception {// 查询方法 List<Element> linkmans = contacts.elements(); // 判断 大小大于0 表示有下一级元素 if (linkmans.size() > 0 && linkmans != null) { // 遍历获取到linkmans下的所有子元素 for (Element linkman : linkmans) { // 获取linkman的属性和属性值 //Attribute attr = linkman.attribute("id"); //System.out.println(attr.getName() + attr.getText()); List<Element> elements = linkman.elements(); if (elements.size() > 0 && elements != null) { for (Element element : elements) { // 得到子节点所有的元素和值 System.out.println(element.getName() + element.getText()); } } } } // 取第一个linkman节点 Element element = linkmans.get(0); System.out.println(element.element("name").getText()); // 取第一个节点中子节点name元素的值 }
@Test public void testUpdata() throws Exception { List<Element> linkmans = contacts.elements(); Element name = linkmans.get(0).element("name");//获取第一个linkman节点下的name节点元素 然后修改该值 name.setText("豆豆"); } //修改完后 会保存在内存中 必须执行写入步骤 @After public void testAfter() throws Exception { /** * FileWriter out=new FileWriter(file); doc.write(out); out.close(); */ // 以漂亮的方式进行输出 OutputFormat format = OutputFormat.createPrettyPrint(); // format = OutputFormat.createCompactFormat(); 这是以紧凑的方式输出 XMLWriter xmlWriter = new XMLWriter(new FileWriter(file), format); xmlWriter.write(doc); xmlWriter.close(); }
增加的方式:@Test public void testAdd() throws Exception { Element add = contacts.addElement("linkman");//增加根节点下的一级节点 add.setAttributeValue("id", "values");//给一级节点添加标签 Element name = add.addElement("name");//在一级节点下增加二级节点 name.setText("小周");//设置值 add.addElement("email").setText("zhouc@qq.com"); add.addElement("address").setText("重庆"); }
@Test public void testDelete() throws Exception { List<Element> elements = contacts.elements(); Element linkman = elements.get(0);// 得到第一个linkman // Element name = linkman.element("name"); // name.getParent().remove(name);//删除第一个linkman下的name // linkman.getParent().remove(linkman);//删除整个linkman //注意 删除节点时需要找到删除节点的父级节点,然后在进行删除 }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算