zoukankan      html  css  js  c++  java
  • java读XML文件

    1. XML文件设计为传输和存储数据,其焦点为数据内容。
    2. HTML设计为用来显示数据, 其焦点为数据外观。
    3. XML仅仅是文本文件,任何文本编辑器一般情况下都能对其进行编辑。
    4. XML没有预定义的标签,并且设定的标签是大小写敏感的。

    标签还必须:

      • 必须有根元素
      • 属性值需要加引号
      • 空格等会被保留
      • 必须关闭标签

    JAVA读取XML文件

    1,language.xml文件内容为:

    <?xml version="1.0" encoding = "UTF-8" ?>
    <language cat = "it">
        <lan id = "1">
            <name>java</name>
            <IDE>Eclipse</IDE>
        </lan>
        <lan id = "2">
            <name>Objective-C</name>
            <IDE>Xcode</IDE>
        </lan>
        <lan id = "3">
            <name>C#</name>
            <IDE>Visual Studio</IDE>
        </lan>
    </language>

    2,java代码

    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 XmlRead {
    public static void main(String[] args) throws SAXException, IOException {
    	try {
    		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    		DocumentBuilder builder = factory.newDocumentBuilder();
    		Document document = builder.parse(new File("language.xml"));
    		Element root =document.getDocumentElement();
    		System.out.println("<language cat = ""+root.getAttribute("cat")+"">");
    		NodeList list = root.getElementsByTagName("lan");
    		for(int i=0;i<list.getLength();i++){
    			Element lan = (Element) list.item(i);
    			System.out.println("	<lan id = ""+lan.getAttribute("id")+"">");
    			NodeList clist = lan.getChildNodes();
    			for (int j = 0; j < clist.getLength(); j++) {
    				Node c = clist.item(j);
    				if (c instanceof Element) {
    					System.out.println("		<"+c.getNodeName()+">"+c.getTextContent()+"</"+c.getNodeName()+">");
    				}
    			}
    			System.out.println("	</lan>");
    		}
    		System.out.println("</language>");
    	} catch (ParserConfigurationException e) {
    
    	}
    }
    }
    

      

      运行结果:

      

  • 相关阅读:
    把Linq查询返回的var类型的数据 转换为DataTable EF连接查询
    无法更新 EntitySet 因为它有一个 DefiningQuery
    MVC上传文件
    MySql删除表、数据
    LINQ to Entities 不支持 LINQ 表达式节点类型“ArrayIndex”。
    MVC仓储使用join
    MVC仓储执行存储过程报错“未提供该参数”
    Newtonsoft.Json自动升级版本号,导致dll冲突
    MVC中构建Linq条件、排序、Selector字段过滤
    AutoMapper
  • 原文地址:https://www.cnblogs.com/starainDou/p/4712318.html
Copyright © 2011-2022 走看看