引用的两个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. 用Java操作树莓派!pi4j简介与安装

    简介 对C不熟?习惯了使用java不想换语言,但又想操作树莓派?想一边喝咖啡,一边吃树莓派蛋糕?快来使用pi4j吧! pi4j旨在为java开发者提供面友好的面向对象的API,来操控树莓派.pi4j对 ...

  2. C++省略参数(va_list va_start va_arg va_end)的简单应用

    原文参考自:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html #include <iostream> #in ...

  3. JQuery中国省市区无刷新三级联动查询

    之前有写过用<Ajax控件来实现中国的省市区无刷新查询> 今天用JQuery来实现,用Ajax控件和JQuery的优缺点就先不说了. 效果图如下: 下面来结合代码来详细说明一下如何用JQu ...

  4. webView、scrollView、TableView,为了防止滚动时出现偏移,底部黑框问题等

    if ([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)]) {self.automaticallyAd ...

  5. webKit和chromium的文章地址

     http://blog.csdn.net/column/details/yongsheng.html?&page=1 

  6. Linux中挂载移动硬盘的方法

    - fdisk -l 找出移动硬盘对应的设备 - mkdir 创建挂载点 mkdir /mnt/usb - mount mount -t ntfs-3g /dev/sdb1  /mnt/usb - u ...

  7. iOS 增加UIButton按钮的可点击区域

    在很多时候,按钮可能看起来那么大,但是在它周围进行点击时,都能够触发事件,是因为它的可点击区域比我们看到的button要大. 在使用AutoLayout的时候,我们处理的是按钮的image属性,所以这 ...

  8. ASP.NET中application对象的用法

    一.Application对象的理解 Application对象在实际网络开发中的用途就是记录整个网络的信息,如上线人数.在线名单.意见调查和网上选举等.在给定的应用程序的多有用户之间共享信息,并在服 ...

  9. 利用DBMS_ROWID.ROWID_CREATE来找出事务等待的行数据

    在v$session视图中有四个字段,如下: Wait information in v$session view ROW_WAIT_OBJ# NUMBER Object ID for the tab ...

  10. Intellij IDEA 创建控制台项目,断点调试

    在idea 2016中创建一个控制台项目(经常会忘) 打开创建界面 注意,什么都不要选,点击next(最坑的地方,经常忘) 再次点击next ============================= ...