javawebday09(dom4j修改节点删除节点获取属性 xpath)
2017-09-25 17:10
399 查看
/* * 使用dom4j实现修改节点的操作 * 修改第一个head下面的age元素的值<age>30</age> * 1、得到document * 2、得到根节点 然后得到第一个head元素 * 3、得到第一个head下面的age * element("")方法 * 4、修改值30 * 使用setText("文本内容")方法 * 5、回写xml * 使用dom4j实现删除节点的操作 * 删除第一个head下面的titile元素 * * 1、得到document * 2、得到根节点 * 3、得到第一个head标签 * 4、得到第一个head下面的title元素 * 5、删除(使用head删除title) * 得到school的父节点 * 第一种直接得到head * 使用方法 getParent方法得到 * 删除操作 * 在head上面执行remove方法删除节点 * 6、回写xml * 使用dom4j获取属性的操作 * 获取第一个head里面的属性id的值 * 步骤 * 1、得到document * 2、得到根节点 * 3、得到第一个head元素 * 4、得到head里面的属性值 * attributeValue("id"); * 在head上面执行这个方法 里面的参数是属性名称 * * 使用dom4j支持xpath的操作 * 可以直接获取到某个元素 * 第一种形式 * /aa/bb/cc 表示一层一层的 aa下面 bb下面的cc * 第二种形式 * //bbb 表示和这个名称相同表示只要名称是bbb都得到 * 第三种形式 * /* 所有元素 * 第四种形式 * bbb[1] 表示第一个bbb元素 * bbb[last()] 表示最后一个bbb元素 * 第五种形式 * //bb[@id] 表示只要bb元素上面有id属性 都得到 * 第六种形式 * //bbb[@id='b1'] 表示元素名称是bbb 在bbb上面有id属性 并且id属性是b1 */
public class TestDom4j02 { public static String path = "src/ee/11.xml"; public static void main(String[] args) throws Exception { //changeAge(); // deleteTitle(); getAttr(); } //获取第一个head里面的属性 id的值 public static void getAttr() throws Exception { /* * 1、得到document * 2、得到根节点 * 3、得到第一个head * 4、得到head里面的属性值 */ //得到document Document document = domUtils.document(path); //得到根节点 Element root = document.getRootElement(); //得到第一个head元素 Element head = root.element("head"); //得到head里面的属性值 String value = head.attributeValue("id"); System.out.println(value); } //删除第一个head下面的title元素 private static void deleteTitle() throws Exception { /* * 1、得到document * 2、得到根节点 * 3、得到第一个head标签 * 4、得到第一个head下面的title元素 * 5、删除(使用head删除title * 6、回写xml */ //得到document ctrl shift o 快速导包 Document document = domUtils.document(path); //得到根节点 Element root = document.getRootElement(); //得到第一个head元素 Element head = root.element("head"); //得到head下面的title元素 Element title = head.element("title"); //删除title元素 //通过父节点删除 //获取父节点的方法 getParent() // Element parent = title.getParent(); // parent.remove(title); head.remove(title); //回写xml OutputFormat of = OutputFormat.createPrettyPrint(); XMLWriter xmlw = new XMLWriter(new FileOutputStream("2.xml"),of); xmlw.write(document); xmlw.close(); } //修改第一个head下面的age元素的值<age>30</age> private static void changeAge() throws Exception { /* * 1、得到document * 2、得到根节点 然后得到第一个head元素 * 3、得到第一个head下面的age * 4、修改值是30 * 5、回写xml */ //得到document SAXReader saxr = new SAXReader(); Document document = saxr.read("src/ee/11.out.xml"); //得到根节点 Element root = document.getRootElement(); //得到第一个head Element head = root.element("head"); //得到head下面的age Element age = head.element("age"); //修改age的值 age.setText("33"); //回写xml OutputFormat of = OutputFormat.createPrettyPrint(); XMLWriter xmlw = new XMLWriter(new FileOutputStream("1.xml"),of); xmlw.write(document); xmlw.close(); } }
domutil
public class domUtils { //java是强类型的语言 需要赋予类型 public static Document document(String path) throws Exception { SAXReader saxr = new SAXReader(); Document document = saxr.read(path); return document; } public static XMLWriter xmlw(String path) throws UnsupportedEncodingException, FileNotFoundException { OutputFormat of = OutputFormat.createPrettyPrint(); XMLWriter xmlw = new XMLWriter(new FileOutputStream(path),of); return xmlw; } }
相关文章推荐
- Dom4j 操作, 节点查找 添加 删除 修改 。。。xPath
- Dom4j 操作, 节点查找 添加 删除 修改 。。。xPath
- dom4j结合xpath获取多命名空间xml中指定id、指定属性节点
- [Java] 通过XPath获取XML中某个节点的属性
- (转载)html dom节点操作(获取/修改/添加或删除)
- tinyxml使用:创建XML,遍历打印xml文件 select操作,获取单个节点值,删除节点操作,修改节点操作,增加节点操作
- dom4j demo4j 获取所有节点/属性
- [sharepoint]rest api文档库文件上传,下载,拷贝,剪切,删除文件,创建文件夹,修改文件夹属性,删除文件夹,获取文档列表
- html dom节点操作(获取/修改/添加或删除)
- Dom4J 新建、删除、增加、修改节点的简单Demo
- dom4j-通过遍历rootElement获取指定节点并修改
- Dom4j向XML中指定位置添加、删除、修改节点——(五)
- xml文档节点的获取--dom4j的延伸xpath知识
- c#对xml多属性节点的增加,删除,修改操作源码
- c#对xml多属性节点的增加,删除,修改操作源码
- c#对xml多属性节点的增加,删除,修改操作源码
- dom4j修改节点属性及写入文件
- 11.21课堂笔记-查找节点和创建节点、插入节点和删除节点、复制节点替换节点、包裹节点和属性操作、样式操作、设置和获取HTML、文本和值
- 详解SimpleXML添加_修改_删除_遍历XML节点属性
- 使用xPath技术快速获取指定节点并对其修改--(xPath技术基础)