用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...