用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;}}