XML文件格式如下:
<?xml version="1.0" encoding="UTF-8" ?>
<table count='2'>
<row>
<id>
<![CDATA[1]]>
</id>
<type>
<![CDATA[income]]>
</type>
<money>
<![CDATA[234]]>
</money>
<as_sortIndex>1</as_sortIndex>
</row>
<row>
<id>
<![CDATA[2]]>
</id>
<type>
<![CDATA[outcome]]>
</type>
<money>
<![CDATA[108]]>
</money>
<as_sortIndex>2</as_sortIndex>
</row>
</table>然后使用如下代码读取上面的XML文件
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder parser=factory.newDocumentBuilder();
Document doc=parser.parse(application.getRealPath("/")+new File("test.xml"));
NodeList nlist=doc.getElementsByTagName("table");
Element node=(Element)nlist.item(0);
String v=node.getElementsByTagName("row").item(0).getFirstChild().getNodeValue();
System.out.println("=="+v);运行上面的代码,想打印出结点id,type,money的值,上面的代码只打印出==,结点信息没有打印出来,如何才能打印出结点信息?谢谢!
<?xml version="1.0" encoding="UTF-8" ?>
<table count='2'>
<row>
<id>
<![CDATA[1]]>
</id>
<type>
<![CDATA[income]]>
</type>
<money>
<![CDATA[234]]>
</money>
<as_sortIndex>1</as_sortIndex>
</row>
<row>
<id>
<![CDATA[2]]>
</id>
<type>
<![CDATA[outcome]]>
</type>
<money>
<![CDATA[108]]>
</money>
<as_sortIndex>2</as_sortIndex>
</row>
</table>然后使用如下代码读取上面的XML文件
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder parser=factory.newDocumentBuilder();
Document doc=parser.parse(application.getRealPath("/")+new File("test.xml"));
NodeList nlist=doc.getElementsByTagName("table");
Element node=(Element)nlist.item(0);
String v=node.getElementsByTagName("row").item(0).getFirstChild().getNodeValue();
System.out.println("=="+v);运行上面的代码,想打印出结点id,type,money的值,上面的代码只打印出==,结点信息没有打印出来,如何才能打印出结点信息?谢谢!
解决方案 »
- 笔试时,写了一小段效率超级低的代码,求优化,只有几行。递归的
- 如图JTable 添加了JScrollpane以后,如何消除列头上的ABC.....
- 递归的问题,被搞晕了......
- 关于BufferedImage 获得RGB数组问题
- 求教事件处理问题
- jbuilder2005+sql2000数据库配置报错.揭贴+30分
- 谁能发一份java API给我啊,要有索引项的,谢谢!!
- 父类如何调用自己被重写过的函数
- 开始学JAVA啦,推荐几本初学者的书和好的网站吧,谢谢!
- 请问<java核心技术I:基础技术>的光盘内容哪有下载?里面有个corejava的类库不知道在哪找
- 强制设置某个对象为null 真的有用吗?
- commit()和close()有什么区别?
package csdn;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class Test { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder parser=factory.newDocumentBuilder();
Document doc=parser.parse("test.xml");
NodeList nlist=doc.getElementsByTagName("table");
Element node=(Element)nlist.item(0);
String v=node.getElementsByTagName("row").item(0).getTextContent();
System.out.println("=="+v); }
}
package csdn;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class Test { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder parser=factory.newDocumentBuilder();
Document doc=parser.parse("test.xml");
NodeList nlist=doc.getElementsByTagName("table");
Element node=(Element)nlist.item(0);
NodeList list=node.getElementsByTagName("row");
int length=list.getLength();
for(int i=0;i<length;i++){
NodeList note=list.item(i).getChildNodes();
int len=note.getLength();
for(int j=0;j<len;j++){
if(!note.item(j).getTextContent().equals("\n")||!note.item(j).getTextContent().equals("")){
String str=note.item(j).getTextContent().trim();
System.out.println(str);
}
}
}
}
}
如果我只想提取money信息呢该如何修改上面的程序呢?