您的位置:首页 > 编程语言 > Java开发

java读取xml文件

2017-12-18 17:25 309 查看
java中经常会读取一些配置信息,本文会说明java读取xml配置的例子:

text.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<menu1>
<meun1name>菜单一</meun1name>
<menuList>
<menu2>
<menu2Name>菜单2_1</menu2Name>
<textField>name,age,sex</textField>
<initClass>User</initClass>
</menu2>
<menu2>
<menu2Name>菜单2_2</menu2Name>
<textField>name1,age1,sex1</textField>
<initClass>Teacher</initClass>
</menu2>
</menuList>
</menu1>


java中读取文件需要的是四个类主要:

Element
DocumentBuilder
DocumentBuilderFactory
Node


读取代码:

public static void main(String[] agrs){
Element element = null;
File f = new File("D:\\ideaWorkSpace\\tam\\src\\test\\java\\config.xml");
DocumentBuilder db = null;
DocumentBuilderFactory dbf = null;

try {
// 返回documentBuilderFactory对象
dbf = DocumentBuilderFactory.newInstance();
// 返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
db = dbf.newDocumentBuilder();
// 得到一个DOM并返回给document对象
Document dt = db.parse(f);
// 得到一个elment根元素
element = dt.getDocumentElement();

System.out.println("根节点:"+element.getNodeName());

NodeList nodeList = element.getChildNodes();
}
}catch (Exception e){
e.printStackTrace();
}


从开始到:

// 得到一个elment根元素
element = dt.getDocumentElement();


这句话结束,就可以得到所有xml信息。之后的处理围绕的是Node、NodeList来做就可以,但是需要注意的是,getChildNodes()会把空格和回车当做是一个节点,所以使用的时候应该加判断:

NodeList nodeList = element.getChildNodes();
for (int i = 0; i < nodeList.getLength(); i++){
Node node1 = nodeList.item(i);
if(node1  instanceof Element){
if(node1.getNodeName().equals("meun1name")){
System.out.println(node1.getTextContent());
}
}

}


上面这些代码,就可以获取meun1name节点的属性值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml java