关于DOM的一个问题
小弟正在学XML关于dom方法,遇到一个难题,请各位大侠们帮忙看看~这是一个XML文件代码:
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<TV>
电视机
<price>
三种价格:
<item1> 29寸纯平,1388元/台</item1>
<item2> 29寸数字高清 1899元/台</item2>
<item3> 29寸液晶 5999元/台</item3>
</price>
<date>生产日期:2005.6</date>
<made>北京电视机厂生产</made>
</TV>
</root>
这是一个java的方法文件代码:
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class ex5
{
public static void main(String args[])
{
OutContent outContent=new OutContent();
try{
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.parse(new File("ex5.xml"));
Element root=document.getDocumentElement();
String rootName=root.getNodeName();
System.out.println("XML文件根节点的名字:"+rootName);
NodeList nodelist=root.getChildNodes();
outContent.output(nodelist);
System.out.println("一共有"+outContent.m+"个Text节点");
}
catch(Exception e)
{
System.out.println(e);
}
}
}
class OutContent
{
int m=0;
public void output(NodeList nodeList)
{
int size=nodeList.getLength();
for(int k=0;k<size;k++)
{
Node node=nodeList.item(k);
if(node.getNodeType()==Node.TEXT_NODE)
{
Text textNode=(Text)node;
String content=textNode.getWholeText();
m++;
System.out.print(content);
}
if(node.getNodeType()==Node.ELEMENT_NODE)
{
Element elementNode=(Element)node;
String name=elementNode.getNodeName();
System.out.print(name);
NodeList nodes=elementNode.getChildNodes();
output(nodes);
}
}
}
}
通过用textpad编译后有错误:
cannot resolve symbol
symbol : method getWholeText ()
location: interface org.w3c.dom.Text
String content=textNode.getWholeText();
^
1 error
但需要实现的结果如图:
请大家指点,谢谢~