[JAVA] xml遍歷輸出

高大胃發表於2018-03-19



import java.util.Map;


import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;


import com.sgcc.tools.ParseXML;


public class MessageConvert {

public static Map XmlChild2Map( Node node ){

NodeList nodeList = node.getChildNodes();
for( int i = 0; i < nodeList.getLength(); ++ i ){
Node nodetmp = nodeList.item(i);
if( nodetmp.hasChildNodes() ) {
NamedNodeMap namedNodeMap = nodetmp.getAttributes();
System.out.println( "Key:" + nodetmp.getNodeName()+ "  Value:" + nodetmp.getNodeValue() );
if( namedNodeMap != null ){
for( int j = 0; j < namedNodeMap.getLength(); ++ j ){
Node node2 = namedNodeMap.item(j);
System.out.println( "    Key:" + node2.getNodeName()+ "  Value:" + node2.getNodeValue());
}
}
XmlChild2Map(nodetmp);
}
else{
if( nodetmp.getNodeName().equals( "#text" ) || nodetmp.getNodeName().equals( "#comment" ) )continue;
System.out.println( "Key:" + nodetmp.getNodeName()+ "  Value:" + nodetmp.getNodeValue() );
NamedNodeMap namedNodeMap = nodetmp.getAttributes();
if( namedNodeMap != null ){
for( int j = 0; j < namedNodeMap.getLength(); ++ j ){
Node node2 = namedNodeMap.item(j);
System.out.println( "    Key:" + node2.getNodeName()+ "  Value:" + node2.getNodeValue());
}
}
}
}
return null;
}
public static Map Xml2Map( String strXML ){
strXML = ParseXML.LoadFile("G:\\工作\\test\\plugin.xml");
try{
Document document = ParseXML.GetNewDocument(strXML);
NodeList nodeList = document.getChildNodes();
for( int i = 0; i < nodeList.getLength(); ++ i ){
Node node = nodeList.item(i);
if( node.hasChildNodes() ){
XmlChild2Map(node);
}
}
}
catch (Exception e){
return null;
}
return null;

}

}

相關文章