浏览 897 次
锁定老帖子 主题:解析xml
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-01
public class ReadXMLByJDom { public static void main(String[] args) { SAXBuilder sax=new SAXBuilder(); try { Document doc=sax.build("xml文件路径"); Element root=doc.getRootElement();//得到根节点 Element datasourse=root.getChild("datasourse"); String driver=datasourse.getChildText("driver");//直接根据节点的名称去取值 String url=datasourse.getChildText("url"); String username=datasourse.getChildText("username"); String password=datasourse.getChildText("password"); } catch (JDOMException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } //使用eclipse自带的工具进行解析 //读取xml中的信息 public class ReadXML { public static void main(String[] args) { try { //构造document对象,用来读取html或者xml中的节点(对象) DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse("E:\\MyeclipseWorkspace\\prjReadFile\\config.xml"); Element root=doc.getDocumentElement();//根节点 NodeList list= root.getChildNodes();//根节点下的子结点集合,返回NodeList for (int i = 0; i <list.getLength(); i++) { Node node=list.item(i); if(node.getNodeType()==Node.ELEMENT_NODE)//判断节点的类型 { Element e=(Element) node; String key=e.getAttribute("key");//获取节点的属性值 NodeList ary=e.getChildNodes();//再次获取Element下的子节点 for (int j = 0; j < ary.getLength(); j++) { Node n=ary.item(j); if(n instanceof Element)//instanceof 用来判断某个对象是否是这个类的实例 { Element ement=(Element) n; //节点名称ement.getNodeName(); // Node a=ement.getLastChild(); // System.out.println(a); String s=ement.getLastChild().getNodeValue(); //这样也是的String s=ement.getFirstChild().getNodeValue(); System.out.println(s); } } } } // Node node=root.getFirstChild();//根节点下的第一个子结点, // String nodeName=node.getNodeName();//第一个子结点的名称 } catch (Exception e) { // TODO: handle exception } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |