本文共 3698 字,大约阅读时间需要 12 分钟。
有如下的XML字符串:
要求从中读取rateCode节点的值,实现方法如下:SINFON COL Rack rates RAK WHL01 2013-12-02 2015-01-22 2 Tour Series Room Charge tour series/min. 5 tours 3 20 W BRF IBF RAC COL 0 100 100 LOW
public static String getRateCodeFromXmlString(String xmlString) { String rateCodeMessage=""; StringReader read = new StringReader(xmlString); //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入 InputSource source = new InputSource(read); //创建一个新的SAXBuilder SAXBuilder saxbBuilder = new SAXBuilder(); try { //通过输入源构造一个Document Document doc = saxbBuilder.build(source); //取的根元素 Element root = doc.getRootElement(); List node = root.getChildren(); for (int i = 0; i < node.size();i++) { Element element=(Element)node.get(i); if(element.getName().equals("rateCode")){ rateCodeMessage=element.getText(); } } return rateCodeMessage; } catch (JDOMException e) { e.printStackTrace(); return ""; } catch (IOException e) { e.printStackTrace(); return ""; } }
有如下XML字符串:
要求获取roomType属性的值,如果有多个,则以空格间隔,不获取重复的值。实现代码如下:
public static String getRoomTypeFromXmlString(String xmlString) { String roomTypeMessage=""; StringReader read = new StringReader(xmlString); //创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入 InputSource source = new InputSource(read); //创建一个新的SAXBuilder SAXBuilder saxbBuilder = new SAXBuilder(); try { //通过输入源构造一个Document Document doc = saxbBuilder.build(source); //取的根元素 Element root = doc.getRootElement(); List node = root.getChildren(); for (int i = 0; i < node.size();i++) { Element element=(Element)node.get(i); List subNode = element.getChildren(); for(int j=0;jsubNode2 = subElement.getChildren(); for(int k=0;k subNode3 = subElement2.getChildren(); for(int m=0;m =0?"":(temp+" "); roomTypeMessage+=temp2; } } } } return roomTypeMessage; } catch (JDOMException e) { e.printStackTrace(); return ""; } catch (IOException e) { e.printStackTrace(); return ""; } }
转载地址:http://fkbii.baihongyu.com/