如何利用dom4j生成XML文件!
此部分源码为最核心部分代码!
package com.etong.allen;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import com.etong.common.util.StringUtils;
import com.roger.database.DBAction;
public class BaseXMLOperator {
/**
* 生成一个新的Document对象
* @return document
*/
protected Document createDocument() {
Document document = DocumentHelper.createDocument();
return document;
}
/**
* 创建一个新的Element对象
* @param paramName Element对象名称
* @param paramValue Element对象值
* @return element
*/
protected Element createElement(Document document, String paramName, String paramValue) {
if (paramValue != null) {
return document.addElement(paramName, paramValue);
} else {
return document.addElement(paramName);
}
}
/**
* 向XML文件中增加节点
* @param document 载入XML文件后获得的Document对象
* @param fatherElementId 要增加节点的父节点Id
* @param element 要增加的节点对象
*/
protected Element addElement(Element element, String titleName) {
return element.addElement(titleName);
}
/**
* 向XML文件中增加一个子节点--用
相关文档:
可以将XML文件的树(只有一个顶层节点).于是理所当然的可以用树作为XML的一种存储结构.
我将在这里用C++实现对简单的XML文件的解析.
1.选择存储结构:
树型数据结构有多种存储方式,我将用"孩子兄弟表示法",定义如下:
typedef struct CSNode
{
int subNodes;
string data;
string name;
struct CSNode *fi ......
XmlDocument doc = new XmlDocument();
string strtxt = "";
doc.Load(Server.MapPath("XMLFile1.xml"));
&nbs ......
<?php
include('xml.php');
$data = XML_unserialize($xml);
?>
$xml即是xml文件的内容,$data是解析出的数组;
<?php
include('xml.php');
$xml = XML_serialize($data);
?>
以上为使用实例,分别解析xml文档和生成xml格式的数据
xml.php源码
<?php
############################### ......