用axiom解析xml,axis2中常用
来源:互联网 发布:seo营销培训 编辑:程序博客网 时间:2024/06/05 04:41
import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.apache.axiom.om.OMElement;import org.apache.axiom.om.OMNode;public class AxiomParseXML {/** * 遍历全部节点,将节点放入Map返回 * @param element * @return */public static Map getResults(OMElement element) {if (element == null) {return null;}Iterator iter = element.getChildElements();Map map = new HashMap();while (iter.hasNext()) {OMNode omNode = (OMNode) iter.next();if (omNode.getType() == OMNode.ELEMENT_NODE) {OMElement omElement = (OMElement) omNode;String key = omElement.getLocalName().trim();//System.out.println("sta: " + key);String value = omElement.getText().trim();map.put(key, value);}}return map;}/** * 遍历当前父节点下的所有子节点 * @param element OMElement 对象 * @param parentNode 父节点 * @return List */public static List getNodeList(OMElement element, String parentNode) throws java.io.IOException{if (element == null || parentNode == null) {return null;}List list = new ArrayList(); Iterator<OMElement> iter = element.getChildElements(); while(iter.hasNext()){ OMElement node = iter.next(); if(node.getLocalName().equals(parentNode)){ Map map = new HashMap(); Iterator<OMElement> iter1 = node.getChildElements(); while(iter1.hasNext()){ OMElement node1 = iter1.next(); map.put(node1.getLocalName(), node1.getText()); //System.out.println(node1.getLocalName()+":"+node1.getText()); } list.add(map);//System.out.println(list); } } return list;}}