一个xml文件的例子 现在我们暂且使用“记事本”来创建我们的xml文件吧。先看一个xml文件:
例1
——————————————————————
〈?xml version="1.0" encoding="gb2312" ?〉
〈参考资料〉
〈书籍〉
〈名称〉xml入门精解〈/名称〉
〈作者〉张三〈/作者〉
〈价格 货币单位="人民币"〉20.00〈/价格〉
〈/书籍〉
〈书籍〉
〈名称〉xml语法〈/名称〉
〈!--此书即将出版--〉
〈作者〉李四〈/作者〉
〈价格 货币单位="人民币"〉18.00〈/价格〉
〈/书籍〉
〈/参考资料〉
——————————————————————
这是一个典型的xml文件,编辑好后保存为一个以.xml为后缀的文件。我们可以将此文件分为文件序言(prolog)和文件主体两个大的部分。在此文件中的第一行即是文件序言。该行是一个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文本:
我原来是这么写 ......
<?xml version="1.0" encoding="UTF-8"?>
<company>
<tel>020-12345678-66</tel>
<tel>020-12345678-85</tel>
<introduce>
<![CDATA[
<br/><h1>公司简介</h1>
]]>
</introduce>
</company>
2.用dom4j 读,
package cn.rentbus;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
//import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import junit.framework.TestCase;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter ......
应一个同事的要求,要利用strtus的Action将一个数据库表的数据输出为xml格式的数据,方便导入使用。经研究Action还真能办到,实际上不是Action的功劳,而是JDOM的功劳,不说那么多了,给大家分享一下。 我有一个测试表,有两个字段,一个是用户名,一个是密码,现将这个表的数据全部输出为xml格式的。首先给出我的Action,代码如下: package com.yourcompany.struts.action;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.XMLOutputter;
import com.yourcompany. ......
kXML是一个J2ME平台下使用的XML语法分析程序,对于J2ME应用程序非常适合。它有一个非常独特的DOM操作方法和被称为Pull的语法分析方法。它有以下特性:
· 支持XML名称空间
· 用"松散"模式分析HTML或其它SGML格式
· 占用很少的存储空间(21 kbps)
· 基于Pull的分析
· 支持XML写操作
· 可选的DOM支持
· 可选的WAP支持
示例代码:
InputStream is = new URL(uri).openStream();
XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser();
parser.setInput(is, null);
parser.nextTag();
parser.require(XmlPullParser.START_TAG, "", "weblogs");
while (parser.nextTag() == XmlPullParser.START_TAG) {
String url = readSingle(parser);
if (url != null)
result.addElement(url);
}
parser.require(XmlPullParser.END_TAG, "", "weblogs");
parser.next();
parser.require(XmlPullParser.END_DOCUMENT, null, null);
is.close ();
parser.setInput (null)
kXML是一个J2ME平台下使用的XML语法分析程序,对于J2ME ......
the content of element type "jboss" must matched loader-respository ,jmx-name,enforce-ejb-restriction,
security-domain,missing-method-permission-excluded-mode,unauthenticated-principal,exception-on-rollback,
webservices,enterprice-beans,assembly-descriptor,resource-managers,invoker-proxy-bindings,
container-configurations, ......