引用的两个jar包

dom4j-1.6.1.jar

jaxen.jar

//=========================代码

import java.io.FileWriter;
import java.util.List;

import org.dom4j.*;
import org.dom4j.io.*;

public class TestDom4 {
public static void main(String[] args) {

Test();
}

public static void Test() {
String fileName = System.getProperty("user.dir")+ "\\LoaneeProduct.xml"; // 当前路径下的demo.xml

try {
SAXReader reader = new SAXReader();
Document doc = reader.read(fileName); // 加载xml文件

List peoples = null;

Element products = null;
try {
products = (Element) doc.selectSingleNode("./products"); // 选择所有具有name属性的节点(即demo.xml中的所有card节点)
} catch (Exception ex) {
System.out.println("异常信息:" + ex);
}

products.addElement("product").addAttribute("type", "cp");
// .addText("第六个产品");

Element a = (Element) products
.selectSingleNode("(//product)[last()]");
a.addElement("id").addAttribute("type", "3").addText("222");
a.addElement("name").addAttribute("type", "3").addText("第六个产品");
// Node node = doc.selectSingleNode("(//question)[last()]/@id");
/*
* products.addElement("email").addAttribute("type",
* "私人").addCDATA("private@some-domain.com"); //设置CDATA内容
*/

// 将上述改动保存到文件demo2.xml
FileWriter fileWriter = new FileWriter(
System.getProperty("user.dir") + "\\LoaneeProduct.xml");

OutputFormat format = OutputFormat.createPrettyPrint(); // 设置美观的缩进格式,便于阅读
format.setEncoding("gb2312"); // 设置文本格式
// format = OutputFormat.createCompactFormat();//设置紧凑格式(消除多余空格),便于下载
XMLWriter writer = new XMLWriter(System.out, format);
writer.setWriter(fileWriter);
writer.write(doc);
writer.close();

} catch (Exception e) {
e.printStackTrace();
}

}
}

//===========================XML  结构

<?xml version="1.0" encoding="gb2312"?>

<products>
<product>
<id>78</id>
<name>悟能月付3.0</name>
</product>
<product>
<id>220</id>
<name>东方步云</name>
</product>
<product>
<id>35</id>
<name>畜牧贷</name>
</product>
<product>
<id>176</id>
<name>瑞恩传媒</name>
</product>
<product>
<id>199</id>
<name>借东风-凯琦</name>
</product>
<product type="cp">
<id type="3">222</id>
<name type="3">第六个产品</name>
</product>
<product type="cp">
<id type="3">222</id>
<name type="3">第六个产品</name>
</product>
</products>

java dom4j写入XML的更多相关文章

  1. Java DOM4J读取XML

    DOM4J是dom4j.org出品的一个开源XML解析包.Dom4j是一个易用的.开源的库,用于XML,XPath和XSLT.它应用于Java平台,採用了Java集合框架并全然支持DOM,SAX和JA ...

  2. [JavaWeb基础] 031.dom4j写入xml的方法

    上一篇我们讲述了dom4j读取xml的4种方法,甚是精彩,那么怎么样写入xml呢?我们直接看下源码实现. public static void main(String[] args) throws E ...

  3. java dom4j解析xml实例(2)

    java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4 ...

  4. java dom4j解析xml实例

    java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4 ...

  5. java DOM4J 读取XML

    最近学习Java,在处理XML文档的时候,查阅相关资料,发现了DOM4J这个jre库,相对C#的XML处理来说,功能还算是跟得上 下面展示一篇我自己写的一个XML读取测试 import java.ut ...

  6. java dom4j解析xml实例(3)

    代码运行前需要先导入dom4j架包. 需要解析的XML文件test.xml如下: <students> <student age="25"><!--如 ...

  7. 深入浅出Java Dom4j读取XML

    在以前自己使用的xml较少,只是了解其很强大,现在可算是在DRP中,真正的开始使用它了,以前只是简单的理解xml,xml即可扩展标记语言,简单的使用,具体是什么?怎么用?还是一直让自己期待的. 首先来 ...

  8. JAVA DOM4j解析XML数据到自定义javabean

    我们获取xml中的数据,一般以面向对象的思想去处理这些数据.因此,我们需要自定义类来封装解析出来的数据,以方便我们操作这些数据. 自定义的java类,称为javabean. 自定义Contact类代码 ...

  9. org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope on: org.dom4j.tree.DefaultElement (dom4j写入XML文件,标签中带【:】(冒号)解决办法)

    用dom4j操作写XML文件,标签中含有冒号,会报 org.dom4j.IllegalAddException: No such namespace prefix: *** is in scope o ...

随机推荐

  1. Android高级之第十一讲Hybird开发

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 随着移动端应用平台的兴起,需求和交互方式的多样化,H5开发逐渐在移动端流行起来:常见的移动产品有We ...

  2. JMX初体验

    这些天在看<How Tomcat Works>这本书.里面讲到了JMX的内容.对我来说是个新知识点. JMX--Java Management Extensions,即Java管理扩展,是 ...

  3. Wordpress添加关键词和描述

    找到主题的header.php文件,然后在其<head>标签内加入加一下代码: 详细版 <?php $description = ''; $keywords = ''; if (is ...

  4. 针对JD-GUI

    switch(0){ case 1001: JSONObject jsoObj; String data = null; boolean isclose = false; try{ jsoObj = ...

  5. Linux 有问必答:如何知道进程运行在哪个 CPU 内核上?

    问题:我有个 Linux 进程运行在多核处理器系统上.怎样才能找出哪个 CPU 内核正在运行该进程? 当你在 多核 NUMA 处理器上运 行需要较高性能的 HPC(高性能计算)程序或非常消耗网络资源的 ...

  6. Aptana快捷键(方便查询)

    窗口类:Ctrl+ Shift +L 调出快捷键提示Ctrl+ W 关闭当前标签窗口Ctrl+ Shift + W 关闭当前标签窗口Ctrl+ F6 (或者是Aptana的Ctrl+Tab )下一个编 ...

  7. Asp.net MVC 中超链接的三个方法及比较

    在Asp.net WebForm开发中,我们通过a标签进行跳转时,通常的写法是:<a href="index.aspx">首页</a>, 在Asp.net ...

  8. day05-java-(循环问题,数组)

    day05-java-(循环问题,数组) 1.三种循环结构的更佳适用情况:  1)while: "当..."循环  2)do...while: "直到..."循 ...

  9. Linux和Windows路由配置

    Linux和Windows路由配置 一.配置路由 1-       原则上一台主机只能有一条缺省路由.如果一台主机上有多个网段的话,请配置能够上网的那个网段的网关为缺省路由 Linux配置缺省路由: ...

  10. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...