黑马程序员------学习笔记(3)XML解析

这篇博客是关于简单的XML解析实例,适合初学者了解和学习。博主分享了自己的学习心得,期待与读者交流。
摘要由CSDN通过智能技术生成

——- android培训java培训、期待与您交流! ———-
简单的xml解析实例,刚写完的,分享给刚接触xml的童鞋们!

  /**
 * 用DOM树的方式对xml进行解析
 * 对xml进行解析
 *
 */
public class Test {
Scanner input = new Scanner(System.in);
    public static void main(String[] args) {
      try {
        //得到DOM解析器工厂实例
        DocumentBuilderFactory a = DocumentBuilderFactory.newInstance();
        //从DOM工厂中获得DOM解析器
        DocumentBuilder b = a.newDocumentBuilder();
        //解析XML文档,得到一个Document,即DOM树
        Document c = b.parse("src/信息收藏.xml");
        //读取新闻
        NodeList d = c.getElementsByTagName("item");
        for(int i=0;i<d.getLength();i++){
            Node node = d.item(i);
            Element e = (Element)node;
         String s=  e.getElementsByTagName("title").item(0).getFirstChild().getNodeValue();
         String s3= e.getElementsByTagName("pubDate").item(0).getFirstChild().getNodeValue();
        System.out.println((i+1)+"\t"+s3+"\t"+s);
    }
        } catch (Exception e) {
            }
        new Test().run();
        }
    //查询一条信息,按<item>标签查找
public  void run(){
    //得到DOM解析器工厂实例
        try {DocumentBuilderFactory a = DocumentBuilderFactory.newInstance();
    //从DOM工厂中获得DOM解析器
    DocumentBuilder b = a.newDocumentBuilder();
    //解析XML文档,得到一个Document,即DOM树
    Document c = b.parse("src/信息收藏.xml");
    //读取新闻
    NodeList d = c.getElementsByTagName("item");
    System.out.print("输入:");
    int num =input.nextInt();   
        Node node = d.item(num-1);
        Element e = (Element)node;
     String s=  e.getElementsByTagName("title").item(0).getFirstChild().getNodeValue();
     String s3= e.getElementsByTagName("pubDate").item(0).getFirstChild().getNodeValue();
    System.out.println((num)+"\t"+s3+"\t"+s);
        } catch (Exception e1) {
                e1.printStackTrace();
        }
}

}
<?xml version="1.0" encoding="GBK"?>
    <channel>
        <item>        
            <title><![CDATA[超高性价比智能机 华为 U8650 仅1280元]]></title>        
            <pubDate>2014-11-25 12:50:46</pubDate>      
        </item> 
        <item>        
            <title><![CDATA[双512MB内存滑盖设计 黑莓9800报价2999元]]></title>        
            <pubDate>2014-11-04 13:50:19</pubDate>      
        </item>
        <item>        
            <title><![CDATA[千元首选安卓智能机 联想A60特价仅售928元]]></title>        
            <pubDate>2014-11-25 12:50:46</pubDate>      
        </item>
        <item>        
            <title><![CDATA[纤薄机身时尚大气 酷派安卓机D530售价1119元]]></title>        
            <pubDate>2014-11-25 12:50:46</pubDate>      
        </item>             
   </channel>

——- android培训java培训、期待与您交流! ———-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值