以文本方式查看主题

-  计算机科学论坛  (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=74741)


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

--  DOM解析XML问题
编写一个TextNode.java程序解析textnode.xml.程序要求打印出根元素下所有的节点,包括文本节点和元素节点,我的代码其他的都行了,就是不能出来“计算机入门”该怎么改啊???
<?xml version="1.0" encoding="GB2312"?>
<书>计算机入门
<出版社>清华出版社</出版社>
<价格>34.5</价格>
</书>
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class TextNode{
public static void main(String args[]){
try{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(new File("TextNode.xml"));
Element root=document.getDocumentElement();
String rooName=root.getNodeName();

System.out.println("xml文件根节点的命名为"+" "+rooName);

//Text textNode=(Text)node;
//String content1=textNode.getWholeText();
//System.out.println(content1+"\n");


NodeList nodelist=root.getChildNodes();
int size=nodelist.getLength();
for(int i=0;i<size;i++){
Node node=nodelist.item(i);
if(node.getNodeType()==Node.ELEMENT_NODE){
Element elementNode=(Element)node;
String name=elementNode.getNodeName();
String content=elementNode.getTextContent();
System.out.println(name+" "+content+"\n");
}
}
}
catch(Exception e){
System.out.println(e);
}
}
}


--  作者:Qr
--  发布时间:5/9/2009 7:49:00 PM

--  
"计算机入门"在此是作为<书>的一个#text节点,按#text节点的方式处理即可,偶不懂java,不会代码
--  作者:lansemuou
--  发布时间:5/22/2009 8:52:00 AM

--  
root.getchildNodes().item(0).getNodeValue,得到的就应该是书的名字了
--  作者:gaoxingok99
--  发布时间:5/22/2009 11:38:00 PM

--  
好像不行呢
--  作者:寒兔
--  发布时间:6/1/2009 8:19:00 PM

--  
新人说错了不要怪我哦 你把<书>当根元素 在下面再增加一个元素
<书名>计算机入门</书名>这样不就好了吗
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms