用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

基本操作--读取xml文件

2015-12-20 作者: 永夜极光举报

[java]代码库

1.主类
package s0210xml文件的读取和创建;

import java.io.File;
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.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;


public class ReadXML {

	public static void main(String[] args) {
		
		try {
			//将xml文件转换为dom文件
			DocumentBuilderFactory factory  = DocumentBuilderFactory.newInstance();//目的是根据xml文件创建DOM文件
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document document = builder.parse(new File("src/s0210xml文件的读取和创建/languages.xml"));//将传入的xml文件转换为document文件
			//将xml文件转换为dom文件
			
		
			Element root = document.getDocumentElement(); //获取当前文档的根元素
			System.out.println("cat="+root.getAttribute("cat"));
			NodeList list = root.getElementsByTagName("lan");//根据标签名获取所有元素,存入list中
			
			//遍历子节点
			for (int i = 0; i < list.getLength(); i++) 
			{
				Element lan = (Element) list.item(i);
				System.out.println("---------------");
				System.out.println("id="+lan.getAttribute("id"));//element.getAttribute()方法获取element中的属性值
				
				NodeList clist = lan.getChildNodes();//element.getChildNodes()方法获取所有的子节点
				for (int j = 0; j < clist.getLength(); j++)   //读取id下面的子节点数据
				{
					Node c = clist.item(j);
					if (c instanceof Element) {
						System.out.println(c.getNodeName()+"="+c.getTextContent());//element.getTextContent得到Node中属性的值
					}
				}
			}
			
			
			
		} catch (ParserConfigurationException e) {
			e.printStackTrace();
		} catch (SAXException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


2.xml文件内容

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Languages cat="itt">
	<lan id="1">
		<name>Java</name>
		<ide>Eclipse</ide>
	</lan>
	<lan id="2">
		<name>Swift</name>
		<ide>XCode</ide>
	</lan>
	<lan id="3">
		<name>C#</name>
		<ide>Visual Studio</ide>
	</lan>
</Languages>


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...