以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 数据库 』  (http://bbs.xml.org.cn/list.asp?boardid=17)
----  使用JDOM操作XML系列文章三 平面式XML文件转层叠式XML文件  (http://bbs.xml.org.cn/dispbbs.asp?boardid=17&rootid=&id=22876)


--  作者:卷积内核
--  发布时间:10/10/2005 10:20:00 AM

--  使用JDOM操作XML系列文章三 平面式XML文件转层叠式XML文件

package jing.xml;

import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.xpath.*;
import java.io.*;
import java.util.*;

public class xmltotree {
public SAXBuilder sb = null;
public Document doc = null;
public Element root = null;
public xmltotree() throws Exception {
sb = new SAXBuilder(); // 新建立构造器
doc = sb.build(new FileInputStream("company.xml")); // 读入文件
root = doc.getRootElement(); // 获得根元素element

}

public void Listelemnet(String pid, Element element) throws Exception {
List find = XPath.selectNodes(root, "/ROOT/ROW[@PID=´" + pid + "´]");
int rowcount = find.size();
for (int i = 0; i < rowcount; i++) {
Element findelement = (Element) find.get(i);
Element element0 = new Element("ROW");
List attrib = findelement.getAttributes();
int j = attrib.size();
for (int h = 0; h < j; h++) {
Attribute attribute = (Attribute) attrib.get(h);
element0.setAttribute(
attribute.getName(),
attribute.getValue());

}
element.addContent(element0);
Listelemnet(findelement.getAttributeValue("CID"), element0);
}
}

public static void main(String[] args) throws Exception {
xmltotree bb = new xmltotree();

Element roote = new Element("ROOT");
Document tdocument = new Document(roote); //创建文档ROOT元素

bb.Listelemnet("0", roote);

XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); //格式华输出,产生缩进和换行
Format format = outp.getFormat();
format.setEncoding("GB2312"); //设置语言
format.setExpandEmptyElements(true); //设置输出空元素为<sample></sample>格式
outp.setFormat(format);
outp.output(tdocument, new FileOutputStream("companytree.xml")); //输出XML文档
//outp.output(tdocument,System.out);
System.out.print("XML 文档生成完毕!");
}
} 


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms