java jdom解析xml格式字符串

	/**
	 * 解析xml字符串成List
	 * 
	 * @param
	 * @return List
	 */
	public static List parse(String xmlDoc) {
		// 创建一个新的字符串
		StringReader xmlString = new StringReader(xmlDoc);
		// 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
		InputSource source = new InputSource(xmlString);
		// 创建一个新的SAXBuilder
		SAXBuilder saxb = new SAXBuilder();

		List result = null;
		try {
			result = new ArrayList();
			// 通过输入源构造一个Document
			Document doc = saxb.build(source);
			// 取的根元素
			Element root = doc.getRootElement();

			// 得到根元素所有子元素的集合
			List node = root.getChildren();
			Element et = null;
			for (int i = 0; i < node.size(); i++) {
				et = (Element) node.get(i);// 循环依次得到子元素
				List subNode = et.getChildren(); // 得到内层子节点
				Map map = new HashMap();
				Element subEt = null;
				for (int j = 0; j < subNode.size(); j++) {
					subEt = (Element) subNode.get(j); // 循环依次得到子元素
					map.put(subEt.getName(), subEt.getText()); // 装入到Map中
				}

				// Map获取到值时才装入
				if (map.size() > 0)
					result.add(map);
			}
		} catch (JDOMException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return result;
	}

   解析XML的格式

 


    
        001Tom12345678
     

    
        002lLucy12344321
     

     
        003Jony12341234
     
     
 

你可能感兴趣的:(Java)