- 讲师:刘萍萍 / 谢楠
- 课时:160h
- 价格 4580 元
特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关
配套通关班送国网在线题库一套
百度广告
java中有专门读取xml文件的类和方法,下面是一个从xml文件中读取数据到标准输出的例子,代码已经通过测试,贴出来仅供参考。
import java.io.*;
import org.xml.sax.*;
public class DOMDemo
//设置输出编码格式
private PrintWriter out;
{
}
{
out.println("NodeName="""+node.getNodeName()+"""");
String value=node.getNamespaceURI();
{
}
value=node.getPrefix();
{
}
value=node.getLocalName();
{
}
value=node.getNodeValue();
{
if(value.trim().equals(""))
out.println("[WS]");
else
out.println(""""+node.getNodeValue()+"""");
}
private void echo(Node node)
int type=node.getNodeType();
{
case Node.ATTRIBUTE_NODE:
print(node);
//CDATA
out.println("CDATA");
break;
case Node.COMMENT_NODE:
print(node);
//段落节点
out.println("DOC_FRAGMENT");
break;
case Node.DOCUMENT_NODE:
print(node);
//文档类型节点
out.println("DOC_TYPE");||| print(node);
//元素节点
out.println("ELEMENT");
//得到该节点所有属性
for(int i=0;i {
//递归调用
}
//实体节点
out.println("ENTITY");
break;
case Node.ENTITY_REFERENCE_NODE:
print(node);
//处理说明节点
out.println("NOTATION");
break;
case Node.PROCESSING_INSTRUCTION_NODE:
print(node);
//文本节点
out.println("TEXT");
break;
default:
print(node);
//遍历该节点子节点
child!=null;child=child.getNextSibling())
echo(child);
}
{
DocumentBuilderFactory dbf=
//生成一个DocumentBuilder
try
db=dbf.newDocumentBuilder();
catch(ParserConfigurationException pce)
System.out.println(pce.toString());
String fileName=args[0];
Document doc=null;
{
doc=db.parse(new File(fileName));
catch(IOException ioe)
System.out.println(ioe.toString());
catch(SAXException se)
System.out.println(se.toString());
try
//显示DOM树
new OutputStreamWriter(System.out,outputEncoding);
}
{
}
}
编译、运行
E:"gongcheng>javac DOMDemo.java
E:"gongcheng>java DOMDemo aaa.xml
运行结果省略。其中的aaa.xml是相应的xml文件。
综上,主要用的类有:DocumentBuilderFactory,DocumentBuilder,NamedNodeMap,用到的接口有Document,Node,并且用到了递归调用,输出流,本人认为该例子是初学者参考学习的好例子
责编:罗莉
课程专业名称 |
讲师 |
课时 |
查看课程 |
---|
课程专业名称 |
讲师 |
课时 |
查看课程 |
---|
点击加载更多评论>>