dom4j对xml比较完整的操作
最近写的插件用到了dom4j,来读写,修改文档。用到的功能都写出来了
下面包含了两个程序 WriteFriendsInfo,和 ReadFriendsInfo。
1.WriteFriendsInfo 包含了新建xml和修改,删除xml节点的方法
一些要点:
WriteFriendsInfo 中修改节点采用的方式是删除节点,然后把新的节点写进去。在不对读写要求很大的情况下,这样做比较简单。
还有就是中文的读写问题:
写入带中文的 Document 到xml文本
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
output = new XMLWriter(new FileWriter(new File("/kb2.xml")),format);
读带中文的xml文本:
我原来是这么写的:document = saxReader.read(new File("/kb2.xml"));
结果一遇到中文就报错,用FileReader可以免去很多字符问题:
FileReader fr= new FileReader(new File("/kb2.xml"));
document = saxReader.read(fr);
2.ReadFriendsInfo 的作用是读xml数据放入自定义的数据结构。
读节点很简单充分体现了 dom4j的智能化
package com.soulnew.netbeansmessage;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;
import java.io.*;
import java.util.Iterator;
import java.util.List;
import org.dom4j.io.OutputFormat;
public class WriteFriendsInfo{
String filename="/kb2.xml";
public void setFilename(String filename) {
&nbs
相关文档:
JAVA对象转换为XML格式
简单的颤述下如何将JAVA对象转换为XML格式,详细了解请进入http://xstream.codehaus.org/tutorial.html
JAVABEAN对象
userInfo.java
private String name;
& ......
// MsXmlTest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "MsXmlTest.h"
#include <clocale>
#include "comutil.h"
#import "msxml4.dll"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 唯一的应用程序对象
CWinApp theApp;
using namespace std;
void WritePerson(MSXML2: ......
package test;
import java.util.ArrayList;
import java.util.List;
import org.nuxeo.common.xmap.annotation.XNode;
import org.nuxeo.common.xmap.annotation.XNodeList;
import org.nuxeo.common.xmap.annotation.XObject;
/**
* Book 实体对象,此处用XMap注解
* @author Administra ......
当你解析XML时,是否会因为命名空间的存在而不能得偿所愿呢?
java方面,好多人推荐用dom4j处理xml,我也就说说在dom4j上处理带命名空间的xml
xml代码example: 再说前三种方法,也是从网上看来的。http://www.cnblogs.com/patrickchen/articles/1188920.html
D: eport.css
第一个方案.设置你的xpath的命名空间setNamesp ......
在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互。
今天就来讲一下Java 中使用dom4j来操作XML文件。
我们需要引入的包:
//文件包
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
//工具包
import java.util.Ite ......