java解析xml格式請求報文
import java.io.File;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.dom4j.Attribute;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.w3c.dom.Document;
public class readdemo {
public static void main(String []args) throws Exception{
readdemo demo=new readdemo();
demo.testGetRoot();
}
public void testGetRoot() throws Exception{
SAXReader sax=new SAXReader();//建立一個SAXReader物件
File xmlFile=new File(“C:\Users\20433\Desktop\sxfdemo.xml”);//根據指定的路徑建立file物件
org.dom4j.Document document=sax.read(xmlFile);//獲取document物件,如果文件無節點,則會丟擲Exception提前結束
Element root=document.getRootElement();//獲取根節點
this.getNodes(root);//從根節點開始遍歷所有節點
}
public void getNodes(Element node){
System.out.println("--------------------");
//當前節點的名稱、文字內容和屬性
System.out.println(“當前節點名稱:”+node.getName());//當前節點名稱
System.out.println(“當前節點的內容:”+node.getTextTrim());//當前節點名稱
List listAttr=node.attributes();//當前節點的所有屬性的list
for(Attribute attr:listAttr){//遍歷當前節點的所有屬性
String name=attr.getName();//屬性名稱
String value=attr.getValue();//屬性的值
System.out.println(“屬性名稱:”+name+“屬性值:”+value);
}
//遞迴遍歷當前節點所有的子節點
List listElement=node.elements();//所有一級子節點的list
for(Element e:listElement){//遍歷所有一級子節點
this.getNodes(e);//遞迴
}
}
}