soap格式的xml解析


     
     
        
Blackbox        
jm     
  



这种格式的xml如何在后台解析得到username 和 password的值?使用dom4j 取不到值
             次浏览         

3 个回答

--------------------------------------

使用dom4j可以取到值, 是我有个地方写错了。
map=new HashMap();
Document xmldoc=DocumentHelper.parseText(dataxml);
Element root=xmldoc.getRootElement();
List list=root.elements();
for(int i=0; i {
Element node=(Element)list.get(i);
List list2=node.elements();
for(int j=0; j {
Element element = (Element) list2.get(j);
map.put(element.getName(), element.getText());
for( Iterator iterInner = element.elementIterator(); iterInner.hasNext(); )
{
Element elementInner = (Element) iterInner.next();
map.put(elementInner.getName(), elementInner.getText());
system.out.println(elementInner.getName());
}
}
}

--------------------------------------

很标准的一个envelope xml                                     

--------------------------------------

我尝试解析了一下
import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import Java.io.File;import java.util.List;public class test{	@SuppressWarnings("unchecked")	public static void main(String[] args) throws DocumentException {		SAXReader saxReader = new SAXReader();		String path = "D:/dom.xml";		Document doc = saxReader.read(new File(path));		Element root = doc.getRootElement();		Element element = root.element("Body");		for(Element Body : (List)element.elements("User")) {			for(Element rusult_element : (List)Body.elements("Password")) {				if(rusult_element.isTextOnly()) {					System.out.println(" Password=" + rusult_element.getText());				}			}			for(Element rusult_element : (List)Body.elements("UserName")) {				if(rusult_element.isTextOnly()) {					System.out.println(" UserName=" + rusult_element.getText());				}			}		}	}}

你可能感兴趣的:(Java,Soap)