首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

java 解析 xml文件, 多层节点读取,请高手帮忙啊 !小弟我要解析的XML已经在下面

2011-12-31 
java 解析 xml文件, 多层节点读取,请高手帮忙啊 !我要解析的XML已经在下面我邮箱是:920957807@qq.com希望

java 解析 xml文件, 多层节点读取,请高手帮忙啊 !我要解析的XML已经在下面
我邮箱是:920957807@qq.com
希望详解,我能读取第一层节点,但是节点里面的节点就不会了,
其中<product>节点任意多个 ,但是小于等于10个
<?xml version="1.0" encoding="UTF-8"?>
<RequestStocksInfo>
<MemberNO>null</MemberNO>
<WareHouseCode>CK-0001</WareHouseCode>
<SyncId>ffffffff</SyncId>
<Remark>987654321</Remark>
<products>
<product>
<name>fffffff</name>
<spuCode>ffsdf</spuCode>
<units>sfs</units>
<model>faf</model>
<Specification>af</Specification>
<status>afasfaf</status>
</product>
<product>
<name>sfs</name>
<spuCode>fsf</spuCode>
<units>safasf</units>
<model>afaf</model>
<Specification>af</Specification>
<status>afa</status>
</product>
</products>
</RequestStocksInfo>

[解决办法]

Java code
public class DOMParseXML {  public void scanXML(File thefile) {  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  DocumentBuilder db = null;  Document doc = null;  try {   db = dbf.newDocumentBuilder();  } catch (ParserConfigurationException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }  try {   doc = db.parse(thefile);  } catch (SAXException e) {   // TODO Auto-generated catch block   e.printStackTrace();  } catch (IOException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }  Element root = doc.getDocumentElement();  echoNode(root); } private void echoNode(Node node) {    switch (node.getNodeType()) {  case Node.ELEMENT_NODE:   System.out.println("This is an element: ");   System.out.println("Name: " + node.getNodeName() + "/n");   if (node.hasChildNodes()) {    NodeList nlist = node.getChildNodes();    for (int i = 0; i < nlist.getLength(); i++) {     echoNode(nlist.item(i));    }   }      if (node.hasAttributes()) {    NamedNodeMap namedNodeMap = node.getAttributes();    for (int i = 0; i < namedNodeMap.getLength(); i++) {     echoNode(namedNodeMap.item(i));    }   }   break;     case Node.ATTRIBUTE_NODE:   System.out.println("This is an attribute: ");   System.out.println("Name :" + node.getNodeName());   System.out.println("Value :" + node.getNodeValue() + "/n");   break;     case Node.TEXT_NODE:   System.out.println("This is a text: ");   System.out.println("Content: /" " + node.getNodeValue() + "/"/n");   break;     default:   System.out.println("### Node type: " + node.getNodeType() + "###");   System.out.println("Name: " + node.getNodeName());   System.out.println("Value: " + node.getNodeValue());   break;  } }  public static void main(String[] args) {  DOMParseXML test = new DOMParseXML();  test.scanXML(new File("F://1.xml")); }} 

热点排行