源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

通过dom4j解析xml字符串(示例代码)

  • 时间:2021-08-20 23:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:通过dom4j解析xml字符串(示例代码)
[u]复制代码[/u] 代码如下:
import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class Test {  @SuppressWarnings("unchecked")  public static void main(String[] args) throws Exception {   String xml = "<request> <param name='service'>single_trade_query </param><param name='_input_charset'>utf-8 </param><param name='partner'>2088001513232645 </param><param name='out_trade_no'>20090422577264 </param></request>";   Document document = DocumentHelper.parseText(xml);   Element root = document.getRootElement();   List<Element> elements = root.elements();   for (Iterator<Element> it = elements.iterator(); it.hasNext();) {    Element element = it.next();    List<Attribute> attributes = element.attributes();    for (int i = 0; i < attributes.size(); i++) {     Attribute attribute = attributes.get(i);     if ("service".equals(attribute.getText())) {      System.out.println(element.getName() + "  :  "        + element.getText());     }    }   }  } }
或者:
[u]复制代码[/u] 代码如下:
import java.io.StringReader; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.xml.sax.InputSource; public class Test {  @SuppressWarnings("unchecked")  public static void main(String[] args) throws Exception {   String xml = "<servlet><description></description><display-name>TestServlet</display-name><servlet-name>TestServlet</servlet-name><servlet-class>test.TestServlet</servlet-class></servlet>";   InputSource in = new InputSource(new StringReader(xml));   in.setEncoding("UTF-8");   SAXReader reader = new SAXReader();   Document document = reader.read(in);   Element root = document.getRootElement();   List<Element> elements = root.elements();   for(Iterator<Element> it = elements.iterator();it.hasNext();){    Element element = it.next();    System.out.println(element.getName()+" : "+element.getTextTrim());   }  } }
或者增加ID属性,直接通过ID获取某个属性值:
[u]复制代码[/u] 代码如下:
import java.io.StringReader; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.xml.sax.InputSource; public class Test {     public static void main(String args[]) {      String xml = "<request> <param name='service' ID='tt'>single_trade_query </param><param name='_input_charset'>utf-8 </param><param name='partner'>2088001513232645 </param><param name='out_trade_no'>20090422577264 </param></request>";      InputSource source = new InputSource(new StringReader(xml));         SAXReader reader = new SAXReader();         Document document = null;   try {    document = reader.read(source);   } catch (DocumentException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }   Element root = document.getRootElement();         System.out.println(document.elementByID("tt").getTextTrim());         System.out.println(root.elementByID("tt").getTextTrim());     } }
注意:通过ID获取,元素ID属性名必须为“大写ID”,小写的“id”会认为是普通属性!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部