以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  [原创]dom解析XML问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=74740)


--  作者:gaoxingok99
--  发布时间:5/9/2009 12:44:00 PM

--  [原创]dom解析XML问题
<?xml version="1.0" encoding="GB2312"?>
<书>计算机入门
<出版社>清华出版社</出版社>
<价格>34.5</价格>
</书>
要怎么解析上面的文件呢?我的JAVA代码是如下,但没有结果,该怎么改??
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class TextNode2{
public static void main(String args[]){
try{
String train[]={"计算机入门"};
String train2[]={"清华出版社"};
String train3[]={"34.5"};

DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.newDocument();
document.setXmlVersion("1.0");
Element root=document.createElement("书");
document.appendChild(root);

for(int k=1;k<=train.length;k++){
root.appendChild(document.createElement("出版社"));
}
for(int k=1;k<=train2.length;k++){
root.appendChild(document.createElement("价格"));
}
NodeList nodeList=document.getElementsByTagName("书");
int size=nodeList.getLength();

nodeList=document.getElementsByTagName("出版社");

size=nodeList.getLength();
for(int k=0;k<size;k++){
Node node=nodeList.item(k);
if(node.getNodeType()==Node.ELEMENT_NODE){
Element elementNode=(Element)node;
elementNode.appendChild(document.createTextNode(train2[k]));
}
}

nodeList=document.getElementsByTagName("价格");

size=nodeList.getLength();
for(int k=0;k<size;k++){
Node node=nodeList.item(k);
if(node.getNodeType()==Node.ELEMENT_NODE){
Element elementNode=(Element)node;
elementNode.appendChild(document.createTextNode(train3[k]));
}
}

TransformerFactory transFactory=TransformerFactory.newInstance();
Transformer transformer=transFactory.newTransformer();
DOMSource domSource=new DOMSource(document);
File file =new File("textnode2.xml");
FileOutputStream out=new FileOutputStream(file);
StreamResult xmlResult=new StreamResult(out);
transformer.transform(domSource,xmlResult);

}
catch(Exception e){
System.out.println(e);
}

}
}


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