心态不好的时候留给自己看
2011-11-14 16:32
225 查看
下面是要解析的xml文件:
第一种方法:用DOM解析(不需要使用别的jar包):
第二种方法:用SAX(Simple API for XML)解析,需要使用sax.jar包
第三种方法:使用jdom,需要下载jdom.jar包
第四种方法:使用dom4j,需要下载dom4j.jar包
<?xml version="1.0" encoding="GB2312"?> <mp3s> <mp3> <name> AAA </name> <time> 11111111 </time> </mp3> <mp3> <name> BBB </name> <time> 22222222 </time> </mp3> </mp3s>
第一种方法:用DOM解析(不需要使用别的jar包):
package cn.lifx.xml.parse; import java.io.File; import java.io.FileNotFoundException; 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.NodeList; import org.xml.sax.SAXException; public class DomTest { private static final String path = "D:\\workspace\\XMLParseTest\\test.xml"; private static DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); public static void main(String[] args) { File f = new File(path); try { DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse(f); NodeList values = doc.getElementsByTagName("mp3"); for(int i=0; i<values.getLength(); i++) { System.out.println("name: " + doc.getElementsByTagName("name").item(i).getFirstChild().getNodeValue()); System.out.println("time: " + doc.getElementsByTagName("time").item(i).getFirstChild().getNodeValue()); } } catch(FileNotFoundException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch(SAXException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } } }
第二种方法:用SAX(Simple API for XML)解析,需要使用sax.jar包
package cn.lifx.xml.parse; import java.util.Stack; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SaxTest extends DefaultHandler { private static final String path = "D:\\workspace\\XMLParseTest\\test.xml"; private static Stack<String> tags = new Stack<String>(); public SaxTest() { super(); } public static void main(String args[]) { SAXParserFactory factory = SAXParserFactory.newInstance(); try { SAXParser parser = factory.newSAXParser(); parser.parse(new InputSource(path), new SaxTest()); } catch (Exception e) { e.printStackTrace(); } } public void characters(char ch[], int start, int length) throws SAXException { while(!tags.isEmpty()) { String tag = tags.pop(); if(tag.equals("name")) { System.out.println("name:" + new String(ch, start, length)); } else if(tag.equals("time")) { System.out.println("time: " + new String(ch, start, length)); } } } public void startElement(String uri, String localName, String qName, Attributes attrs) { tags.push(qName); } }
第三种方法:使用jdom,需要下载jdom.jar包
package cn.lifx.xml.parse; import java.io.File; import java.io.IOException; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; public class JDomTest { private static final String path = "D:\\workspace\\XMLParseTest\\test.xml"; public static void main(String[] args) { File f = new File(path); SAXBuilder builder = new SAXBuilder(); Document doc = null; try { doc = builder.build(f); } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } if(doc != null) { Element element = doc.getRootElement(); List values = element.getChildren(); for(int i=0; i<values.size(); i++) { System.out.println("name: " + ((Element)values.get(i)).getChild("name").getText()); System.out.println("time: " + ((Element)values.get(i)).getChild("time").getText()); } } } }
第四种方法:使用dom4j,需要下载dom4j.jar包
package cn.lifx.xml.parse; import java.io.File; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class Dom4jTest { public static void main(String[] args) { String path = "D:\\workspace\\XMLParseTest\\test.xml"; File f = new File(path); SAXReader reader = new SAXReader(); try { Document doc = reader.read(f); Element root = doc.getRootElement(); Element element; for(Iterator i=root.elementIterator("mp3"); i.hasNext();) { element = (Element) i.next(); System.out.println("name: " + element.elementText("name")); System.out.println("time: " + element.elementText("time")); } } catch (DocumentException e) { e.printStackTrace(); } } }
相关文章推荐
- 仅仅只是记录,留给自己老的时候再看。
- 帧动画的应用------自己在用的时候写了 估计一些刚入门的可能还不会用,就写出来留给大家使用
- 密码发生器(在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了)
- (转)当别人努力的时候,你在做什么? 评论事情的一种态度 当你在抱怨的时候,为什么不想想我做了什么? 把简单的原则坚持贯彻下去 消极的心态,养成了惯性的思维,一切都是不好的。 也许这就是人性的弱点,不经意的习惯,却逐渐腐蚀了你的人生。
- 密码发生器 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或
- 时刻准备着大多数时候是一种不好的心态
- 当你心态不好的时候,可以看看这些句子。Reset your Brain!
- 人在做坏事的时候,总希望给自己找理由。这些理由,也许虚伪,也许可笑,但并不是为了说服别人,而是说服自己。
- 自己用C#写的一个Math类,数学不好,大家帮我看下
- 自己刚学html的时候记得笔记,别嫌丑,我就是这么学过来的
- 很多时候,别人的冷酷无情,源于你对自己的娇惯放纵
- 学习存储过程的时候参看的两个DVBBS的存储过程和两个初步了解后自己写的存储过程(带分页的)
- 如何调整自己的心态不低落-----要看看哦,很有道理
- 【Android】Activity切换效果——当通过Service启动自己Activity的时候怎么控制
- 不要问我能赚多少,当你问这句话的时候,你的思想还停留在给别人打工的阶段,我只是你的仓库,能挣多少得问你自己想挣多少(转)
- 当你不优秀的时候,就让自己具有一些优秀的特质
- 如何判断自己是否到了该辞职的时候
- 人生就是不断积累与学习,第一个博客留给未来的自己
- 批驳:单元測试自己測效果不好,别人測效果才好
- 12-22 挑战留给自己,积极面对