谢谢大家, 拜托了。
解决方案 »
- 关于Ecside数据列表异步加载问题
- Java DB操作类的设计代码
- Tomcat6.0.20 ActiveMQ 配置出错
- 请问:hibernate中,此时的对象user2是脱管状态,还是瞬时状态?
- commons-digester 在应用环境下总是出现ClassNotFoundException!
- xml 问题轻松拿分 急!
- 关于session的问题
- Eclipse+Lomboz配置问题!在线等待!
- mybatis的not in和in问题
- struts的一系列问题,struts学习者进,一起讨论哦
- springMvc+ibatis处理链接超时异常给出有好提示
- java频繁连接sql数据库,出错,求高手帮忙,系统快上线了
package dom4j;import java.io.File;
import java.util.Iterator;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;
public class Dom4jParseXml { public static void main(String[] args)throws Exception {
Dom4jParseXml dom4j=new Dom4jParseXml();
Document document=dom4j.getDocument("ACCP.xml");
Element rootElement=dom4j.getRootElement(document);
//方法一:普通的层层解析
// dom4j.readElement(rootElement);
//方法二:递归方法
// dom4j.readInstanceof(rootElement);
// 方法三:采用Dom4j带的Visitor模式进行解析
// rootElement.accept(new MyVistor());
// 方法四:采用美化格式的输出
dom4j.parseFormat(document);
} public void parseFormat(Document document)throws Exception{
OutputFormat outputFormat = OutputFormat.createPrettyPrint();
// OutputFormat outputFormat=OutputFormat.createCompactFormat();
outputFormat.setEncoding("GB2312");
XMLWriter writer=new XMLWriter(System.out,outputFormat);
writer.write(document);
System.out.println("over");
}
//通过Dom4j的解析器进行Document的解析操作
public Document getDocument(String filename)throws Exception{
SAXReader saxReader=new SAXReader();
Document document=saxReader.read(new File(filename));
return document;
}
//获取Document下的根节点
public Element getRootElement(Document document) throws Exception {
return document.getRootElement();
}
//方法一:层层解析
public void readElement(Element rootElement) throws Exception{
System.out.println(rootElement.getName());
for(Iterator iterator=rootElement.elementIterator();iterator.hasNext();){
Element element =(Element)iterator.next();
System.out.println(element.getName()+element.getText());
for(Iterator iterator2=element.elementIterator();iterator2.hasNext();){
Element element2=(Element)iterator2.next();
System.out.println(element2.getName()+element2.getText());
}
}
}
//方法二:递归方法
public void readInstanceof(Element element)throws Exception{
System.out.println(element.getName());
for(Iterator iterator=element.elementIterator();iterator.hasNext();){
Node node=(Node)iterator.next();
if(node instanceof Element){
readInstanceof((Element)node);
}
System.out.println("text:::"+((Element)node).getText());
}
}}
import org.dom4j.Element;
import org.dom4j.VisitorSupport;public class MyVistor extends VisitorSupport {
public void visit(Attribute node){
System.out.println("有属性:"+node.getName()+node.getText());
}
public void visit(Element node){
System.out.println("元素是:"+node.getName()+"::元素是"+node.getText());
}
}