• XML解析


     1 <?xml version="1.0" encoding="GBK"?>
     2 <addresslist>
     3     <linkman>
     4         <name>李兴华</name>
     5         <email>mldnqa@163.com</email>
     6     </linkman>
     7     <linkman>
     8         <name>MLDN</name>
     9         <email>mldnkf@163.com</email>
    10     </linkman>
    11 </addresslist>
     1 import java.io.* ;
     2 import org.w3c.dom.* ;
     3 import javax.xml.parsers.* ;
     4 public class DOMDemo {
     5     public static void main(String args[]) throws Exception {
     6         // 取得DocumentBuilderFactory类的对象
     7         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance() ;
     8         // 取得DocumentBuilder类的对象
     9         DocumentBuilder build = factory.newDocumentBuilder()  ;
    10         Document doc = build.parse(new File("D:" + File.separator + "dom_demo_01.xml")) ;
    11         // 得到所有的linkman节点
    12         NodeList nl = doc.getElementsByTagName("linkman") ;
    13         for(int x=0;x<nl.getLength();x++){
    14             Element e = (Element) nl.item(x) ;    // 取出每一个元素
    15             System.out.println("姓名:" + e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()) ;
    16             System.out.println("邮箱:" + e.getElementsByTagName("email").item(0).getFirstChild().getNodeValue()) ;
    17         }
    18     }
    19 }

    xml解析有两种方式:Dom和SAX,sax是解析的时候扫描过程但sax需要先建立一个sax解析器,于是出现了开源的JDOM解析方式:

     1 package org.lxh.xml.jdom ;
     2 import java.io.* ;
     3 import java.util.* ;
     4 import org.jdom.* ;
     5 import org.jdom.input.* ;
     6 public class ReadXML {
     7     public static void main(String args[]) throws Exception {
     8         SAXBuilder builder = new SAXBuilder() ;
     9         Document read_doc = builder.build(new File("D:" + File.separator + "address.xml")) ;
    10         Element root = read_doc.getRootElement() ;    // 取得根
    11         List list = root.getChildren("linkman") ;    // 得到所有的linkman
    12         for(int x=0;x<list.size();x++){
    13             Element e = (Element) list.get(x) ;
    14             String name = e.getChildText("name") ;    // 得到name子节点的内容
    15             String id = e.getChild("name").getAttribute("id").getValue() ;
    16             String email = e.getChildText("email") ;
    17             System.out.println("-------------- 联系人 -------------") ;
    18             System.out.println("姓名:" + name + ",编号:" + id) ;
    19             System.out.println("EMAIL:" + email) ;
    20             System.out.println("-----------------------------------") ;
    21             System.out.println() ;
    22         }
    23     }
    24 }
  • 相关阅读:
    Python函数式编程(一):高级函数
    Python高级特性:列表生成式
    Python高级特性:迭代
    Python高级特性:切片
    Python学习笔记
    关于相机拍照获取图片onActivityResult返回data 为null的问题
    191019
    状语和状语从句
    191018
    191017
  • 原文地址:https://www.cnblogs.com/hixin/p/4151375.html
Copyright © 2020-2023  润新知