织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>杂项技术>JAVA>

JDOM解析xml字符串和构造xml字符串

jackyhwei 发布于 2011-12-15 13:51 点击:次 
利用JDOM来解析xml字符串和构造xml字符串的示例代码。
TAG:

xml字符串内容如下:

解析函数如下:

  1. public static void ParseXML(String msg) 
  2. StringReader read = new StringReader(msg); 
  3. // 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入 
  4. InputSource source = new InputSource(read); 
  5. // 创建一个新的SAXBuilder 
  6. SAXBuilder sb = new SAXBuilder(); 
  7. try  
  8. // 通过输入源构造一个Document 
  9. Document doc = sb.build(source); 
  10. // 取的根元素 
  11. Element root = doc.getRootElement(); 
  12. System.out.println(root.getName()); 
  13.  
  14. List child = root.getChildren(); 
  15. Element e = null
  16. Element e1 = null,e2=null
  17. int n = child.size(); 
  18. int x=0,y=0
  19. for (int i = 0; i < n; i++)  
  20. //System.out.println("循环大小:"+n+" "+ "i值为"+i); 
  21. e = (Element) child.get(i); 
  22. System.out.println(e.getName()); 
  23. if(e.getName()== "params"
  24. //i=-1; 
  25. child = e.getChildren(); 
  26. x = child.size();//记录有几个param 
  27. System.out.println(x+"param"); 
  28. for(int z=0;z<x;z++)//遍历这几个param 
  29. child = e.getChildren(); 
  30. e1 = (Element) child.get(z); 
  31. if(e1.getName()=="param"
  32. child = e1.getChildren(); 
  33. y=child.size(); 
  34. System.out.println("param里面有"+y+"个元素"); 
  35. for(int h=0;h<y;h++) 
  36. e2 = (Element) child.get(h); 
  37. System.out.println(e2.getName()); 
  38. System.out.println(e2.getText()); 
  39. else 
  40. System.out.println(e.getText()); 
  41. catch (JDOMException e)  
  42. e.printStackTrace(); 
  43. catch (IOException ioe)  
  44. ioe.printStackTrace(); 

构造xml字符串函数如下:

  1. public static String ConstructXML() 
  2. String msg = null
  3. Element rootElt = new Element("command"); 
  4.   
  5. Element idElt = new Element("id"); 
  6. idElt.addContent("1001"); 
  7.  
  8. Element nameElt = new Element("name"); 
  9. nameElt.addContent("linwuhan"); 
  10.  
  11. Element typeElt = new Element("type"); 
  12. typeElt.addContent("type"); 
  13.  
  14. Element paramsElt = new Element("params"); 
  15. Element paramElt = new Element("param"); 
  16. paramsElt.addContent(paramElt); 
  17. Element keyElt = new Element("key"); 
  18. keyElt.addContent("name"); 
  19. Element valueElt = new Element("value"); 
  20. valueElt.addContent("ice_Anson"); 
  21. paramElt.addContent(keyElt); 
  22. paramElt.addContent(valueElt); 
  23.   
  24. rootElt.addContent(idElt); 
  25. rootElt.addContent(nameElt); 
  26. rootElt.addContent(typeElt); 
  27. rootElt.addContent(paramsElt); 
  28.   
  29. Document doc = new Document(rootElt); 
  30. XMLOutputter out = new XMLOutputter(); 
  31. out.setFormat(Format.getCompactFormat().setEncoding("utf-8")); 
  32.  
  33. msg = out.outputString(doc); 
  34. System.out.println(msg); 
  35. return msg; 

 

(林武汉)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201112/15483.html]
本文出处:百度博客 作者:林武汉 原文
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容