XML文件的一个常用用途是保存数据,例如我们可以将连接数据库的相关信息保存到一个xml文件中,程序通过读取xml文件的内容获取信息。这样当数据库的连接信息改变时,我们只需要修改一下xml中对应的内容就可以保证在不修改源程序的情况下继续执行。
xml文件的读取有多种方法,本文介绍的是最简单的方法:利用DOM实现
步骤概括如下:
获取DocumentBuilderFactory
通过DocumentBuilder工厂产生一个DocumentBuilder
利用DocumentBuilder产生Document
Document可以看成是xml文件在内存中的一个镜像,这样,我们可以通过操作Document来实现对xml文件的操作。
下面通过简单的代码来实现上面描述的过程:
package wzs;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
public class XMLReader {
public static void main(String[] args) {
try {
File f = new File("MyXml.xml");
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();//步骤1
DocumentBuilder builder = factory.newDocumentBuilder();//步骤2
Document doc = builder.parse(f);//步骤3
NodeList nl = doc.getElementsByTagName("action");
for (int i = 0; i
System.out.println("result:"+ doc.getElementsByTagName("result")
.item(i).getFirstChild().getNodeValue());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
程序运行结果如下:
result:1_1.jsp
result:1_2.jsp
result:1_3.jsp
result:1_4.jsp
其中步骤3有一个方法parse(File f),用来将给定文件的内容解析为一个XML文档,并返回一个新的Document对象。
获取到Document对象后,再获取节点的值应该不是问题了,API中有对应的方法,这里就不再赘述了。
附上MyXml.xml文件:
324
1_1.jsp
1_2.jsp
1_3.jsp
1_4.jsp
2_1.jsp
2_2.jsp
3_1.jsp
3_2.jsp
4_1.jsp
4_2.jsp