转 jdom遍历所有节点

上一篇 / 下一篇  2011-03-22 16:32:18 / 个人分类:JAVA

 

 

dom4j:

Java代码import org.dom4j.Document;   
  1. import org.dom4j.DocumentException;   
  2. import org.dom4j.DocumentHelper;   
  3. import org.dom4j.Element;  
Java代码
String xml="<?xml version=\"1.0\" encoding=\"UTF-8\"><Order><Cid>456</Cid><Pwd>密码</Pwd><Pid>商品单号</Pid><Price>商品价格</Price></Order>";   
  1.            
  2.  try {   
  3. Document doc = DocumentHelper.parseText(xml);   
  4. SAXReader reader = new SAXReader();   
  5.   
  6. Element el=doc.getRootElement();   
  7. for(Iterator it=el.elementIterator();it.hasNext();){   
  8.  Element element = (Element) it.next();   
  9. System.out.println(element.getText());   
  10.             }   
  11.         } catch (DocumentException e) {   
  12. // TODO Auto-generated catch block  
  13.             e.printStackTrace();   
  14.         }  

 

 

 jdom实现如下:

 

 

Java代码import org.jdom.Document;   
  1. import org.jdom.Element;   
  2. import org.jdom.JDOMException;   
  3. import org.jdom.Namespace;   
  4. import org.jdom.input.SAXBuilder;   
  5.   
  6.  public List xmlElements(String xmlDoc) {   
  7.   
  8.   //创建一个新的字符串  
  9.             StringReader read = new StringReader(xmlDoc);   
  10.             //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入  
  11.             InputSource source = new InputSource(read);   
  12.             //创建一个新的SAXBuilder  
  13.             SAXBuilder sb = new SAXBuilder();   
  14.             try {   
  15.                 //通过输入源构造一个Document  
  16.                 Document doc = sb.build(source);   
  17.                 //取的根元素  
  18.                 Element root = doc.getRootElement();   
  19.                         //得到根元素所有子元素的集合  
  20.                 List jiedian = root.getChildren();   
  21.                 //获得XML中的命名空间(XML中未定义可不写)  
  22.                 Namespace ns = root.getNamespace();   
  23.                 Element et = null;   
  24.                 for(int i=0;i<jiedian.size();i++){   
  25.                     et = (Element) jiedian.get(i);//循环依次得到子元素  
  26.                     System.out.println(et.getValue());   
  27.                             }   
  28.                             }   
  29.             } catch (JDOMException e) {   
  30.                 // TODO 自动生成 catch 块  
  31.                 e.printStackTrace();   
  32.             } catch (IOException e) {   
  33.                 // TODO 自动生成 catch 块  
  34.                 e.printStackTrace();   
  35.             }   
  36.             return null;   
  37.         }   
  38.         public static void main(String[] args) throws Exception{   
  39.        String xml0="<?xml version=\"1.0\" encoding=\"UTF-8\"?><Order><Cid>456</Cid><Pwd>密码</Pwd><Pid>商品单号</Pid><Prices><Price>商品价格01</Price><Price>商品价格02</Price></Prices></Order>";   
  40.             doc.xmlElements(xml0);   
  41.                
  42. }  

TAG:

 

评分:0

我来说两句

Open Toolbar