先假设你第二个问题解决了
应该可以用getParentNode获得其父节点,然后用
getChildNodes().item(i);就可以了吧而第二个问题本身我想也可以类似取得

解决方案 »

  1.   

    但我只知道这个条件:<name>=Where the Sidewalk Begins
    并不知道item(I)
      

  2.   

    那可以用循环判断嘛,每个item都编历一次
      

  3.   

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance() ;
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(filename);
    Element order = null;
    Element name = null;
    Element price = null;
    Element root = doc.getDocumentElement();//get root element
    NodeList rootlist = root.getChildNodes();
    for (int i = 0; i < rootlist.getLength(); i++) {
        Element customer = (Element) list.item(i);//get customer element
        NodeList customerlist = custormer.getChildNodes();
        for (int j = 0; j < customerlist.getLength(); j++) {    
           if (custormerlist.item(j).getNodeName().equals("order") ) {
                   order = customerlist.item(j);//get order ele
                   break;
           }
        }
    }
    if (order.hasChildNodes()) {
       NodeList orderlist = order.getChildNodes();
       for (int m = 0; m < orderlist.getLength(); m++) {
          if (orderlist.item(m).getNodeName().equals("name") {
             name = orderlist.item(m);//get name element
          }
          if (orderlist.item(m).getNodeName().equals("price") {
             price = orderlist.item(m);//get price element
          }
        }
    }
    if (price != null && price.hasChildNodes()) {
     String str = price.getFirstChild().getNodeValue();//get price value
    }
             
              
      

  4.   

    每次用Nodelist.item()所得结果请进行强制类型转化为Element.