用jdom.jar包就行了,给你个例子: import java.awt.*; import java.io.*; import org.jdom.*; import org.jdom.output.XMLOutputter; import java.util.ArrayList;public class Test { public static void main(String args[]) throws IOException { Test test = new Test(); String request=test.getReaderDetails(); System.out.println(request);
}
protected String getReaderDetails() { try { Element RequesterDetailsRoot = new Element("Request"); Attribute attribute = new Attribute("PROVIDERID","1"); ArrayList detailAttribute = new ArrayList(); detailAttribute.add(attribute);
RequesterDetailsRoot.setAttributes(detailAttribute); RequesterDetailsRoot.addContent(new Element("CLIENTID").setText("1234")); RequesterDetailsRoot.addContent(new Element("CLIENTNAME").setText("haha")); RequesterDetailsRoot.addContent(new Element("FILEID").setText("1")); RequesterDetailsRoot.addContent(new Element("FILETITLE").setText("Thinking in Web service"));
apache的xerces-j和xalan-j在sun的JAXP基础上进行了扩展,同时也提供了apache关于xml处理的基本api,其中xerces-j主要针对分析xml文档,xalan-j主要针对xml文档向其他文档转换(如xslt)
详细的介绍信息及下载连接在:
http://xml.apache.org/xerces2-j/index.html
http://xml.apache.org/xalan-j/index.html下载到xerces-j和xalan-j的包后,解压并找到xercesImpl.jar和xalan.jar,如果你的jdk版本不到1.4,还要同时找到xml-apis.jar,将这些jar文件的绝对路径加到系统环境变量classpath中(怎么加不在此赘述)需要注意的是,你需要先具有xml的基础知识,还要了解sun的JAXP的基本用法(可以从java.sun.com找j2ee tutorial,里面有不错的介绍)。还要注意的是,以上所有的资料全部为e文
昨天下的jdom .绝对好用 !:)
test.xml
<?xml version="1.0" encoding="UTF-8"?>
<xmlData>
<name>TOM</name>
<xmlData>用JDOM解析这个test.xml的主要语句:
InputStream oConfig = getClass().getResourceAsStream("test.xml");
DOMBuilder oBuild = new DOMBuilder();
Document oDoc = oBuild.build(oConfig);
Element oRoot = oDoc.getRootElement();
String name = oRoot.getChild("name").getText();
1.请把下面的保存成test.xml
<?xml version="1.0" encoding="UTF-8"?>
<xmlData>
<name>TOM</name>
<xmlData>
2.请把下面的存放到一个java文件中就可以了:
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;InputStream oConfig = getClass().getResourceAsStream("test.xml");
DOMBuilder oBuild = new DOMBuilder();
Document oDoc = oBuild.build(oConfig);
Element oRoot = oDoc.getRootElement();
String name = oRoot.getChild("name").getText();
3.如果在JB或WSAD等工具中调试,请把test.xml文件放到WEB-INF\classes下,就是你*.class文件存放的地方。
祝大家成功!
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/public class TGJdom {
public static void main(String[] args) {
new TGJdom().justDoIt(); }
void justDoIt(){
try {
InputStream oConfig = this.getClass().getResourceAsStream("test.xml");
DOMBuilder oBuild = new DOMBuilder();
Document oDoc = oBuild.build(oConfig);
Element oRoot = oDoc.getRootElement();
String name = oRoot.getChild("name").getText();
System.out.println(name);
}
catch (JDOMException ex) {
System.err.print("faint!there is sth wrong");
} }
}
import java.awt.*;
import java.io.*;
import org.jdom.*;
import org.jdom.output.XMLOutputter;
import java.util.ArrayList;public class Test
{
public static void main(String args[]) throws IOException
{
Test test = new Test();
String request=test.getReaderDetails();
System.out.println(request);
}
protected String getReaderDetails()
{
try
{
Element RequesterDetailsRoot = new Element("Request");
Attribute attribute = new Attribute("PROVIDERID","1");
ArrayList detailAttribute = new ArrayList();
detailAttribute.add(attribute);
RequesterDetailsRoot.setAttributes(detailAttribute);
RequesterDetailsRoot.addContent(new Element("CLIENTID").setText("1234"));
RequesterDetailsRoot.addContent(new Element("CLIENTNAME").setText("haha"));
RequesterDetailsRoot.addContent(new Element("FILEID").setText("1"));
RequesterDetailsRoot.addContent(new Element("FILETITLE").setText("Thinking in Web service"));
Document requesterDetails = new Document(RequesterDetailsRoot);
XMLOutputter outputter = new XMLOutputter(" ",true);
return outputter.outputString(requesterDetails);
}
catch(Exception e)
{
e.printStackTrace(System.out);
return "Error";
}
}
}