美文网首页XML解析
java 解析xml报文及获取节点xml

java 解析xml报文及获取节点xml

作者: 明明德撩码 | 来源:发表于2020-04-09 14:47 被阅读0次

使用Dom4j修改、删除元素和属性值,需要先获取dom4j树(即Document),通常需要修改的节点需要先获得该节点或其父节点,欲 修改属性,需要先获得该属性所在的节点和该属性。dom4j提供了非常方便操作的API,修改和删除元素使用Element类,修改属性使用Attribute类,具体操作通过一个实例来进行说明。

使用Dom4j修改、删除元素和属性值,需要先获取dom4j树(即Document),通常需要修改的节点需要先获得该节点和其父节点对象;需要修改的属性,需要先获得该属性所在的节点和该属性对象。dom4j提供了非常方便操作的API,修改和删除元素使用Element类,修改属性使用Attribute类,具体操作通过一个实例来进行说明。

要修改的XML文档内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<employees>
    <employee id="1001">
        <name>张三</name>
    </employee>
</employees>

java代码如下:

package com.bug315.update;
 
import java.io.File;
 
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
 
/**
 * 使用Dom4j修改XML文档指定的元素
 * @author administrator
 * @date 2015年12月20日19:46:06
 */
public class UpdateElementTest01 {
     
    public static void main(String[] args) throws Exception {
        // 获取文档对象
       String xml="上文xml结构";
        Document document = DocumentHelper.parseText(xml);;
         
        Element root = document.getRootElement();
        Element employeeEle = root.element("employee");
         
        // (1)将employee元素名称改为emp
        employeeEle.setName("emp");
         
        // (2)将employee元素的id属性名称改为bh,值改为2000
        Attribute idAttribute = employeeEle.attribute("id");
        // a、先删除id属性
        employeeEle.remove(idAttribute);
        // b、设置新的属性,bh=2000
        employeeEle.addAttribute("bh", "2000");
         
        // (3)将employee元素下面的name元素删除掉,将name元素的值作为employee元素的值
        Element nameElement = employeeEle.element("name");
        String value = nameElement.getTextTrim();
        employeeEle.remove(nameElement);
        employeeEle.setText( value );
         
        // 将修改后的XML文档输出到终端,查看修改结果
        XMLWriter writer = new XMLWriter();
        writer.write(document);
        writer.close();
    }
     
}

用dom4j生成xml,去掉xml头 <\xml version="1.0" encoding="UTF-8">

document.getRootElement().asXML();

相关文章

  • java 解析xml报文及获取节点xml

    使用Dom4j修改、删除元素和属性值,需要先获取dom4j树(即Document),通常需要修改的节点需要先获得该...

  • Jaxb 解析XML的节点属性以及节点值

    如这片文章所说 Java获取并解析XML(JavaBean和XML的转化),可以实现JavaBean和XML节点元...

  • Java XML文件解析书目录

    Java创建XML文件 解析XML文件-Java DOM Java 修改XML文件的节点和属性 XML文档中节点、...

  • xml

    dom 解析xml文件 获取根节点 遍历 查 保存 添加 删除 修改 XPath 使用XPath对xml文件的元素...

  • 爬虫项目之xml解析

    1.xml是获取xml报文并且如何分析数据 xml文件如下*

  • XML解析

    dom4j 元素 解析xml文件 获取根节点 遍历 查 保存 添加 删除 改 XPath 使用XPath对xml文...

  • XML及使用java解析XML

    XML即Extensible Markup Language,可扩展标记语言,主要的应用有三方面: 1.存储数据,...

  • spring 探索(一)

    解析获取xml 通过解析的xml获取className 通过className获取bean 实现上述测试类需要De...

  • XML*

    目录 XML简介 XML基本语法 XML解析 * DOM解析   * DOM解析原理及工具   * DOM4J解析...

  • Spring基础

    spring简介 基础技术 java 反射 xml xml解析 代理 大量设计模式 关键在于在容器中获取对象,sp...

网友评论

    本文标题:java 解析xml报文及获取节点xml

    本文链接:https://www.haomeiwen.com/subject/lbdcmhtx.html