値の解析ではなく子を使用したXML解析
   import java.io.File;
   import java.io.FileInputStream;
   import javax.xml.xpath.XPath;
   import javax.xml.xpath.XPathConstants;
   import javax.xml.xpath.XPathFactory;
   import org.w3c.dom.Node;
   import org.w3c.dom.NodeList;
   import org.xml.sax.InputSource;
   import com.sun.org.apache.xml.internal.dtm.ref.DTMNodeList;
    public class XPathEvaluator {
    /*
   * ServiceGroup serviceGroup = new ServiceGroup(); List<Service>
    * requiredServices = new ArrayList<Service>(); List<Service>
  * recommandedServices = new ArrayList<Service>(); Service service = new
  * Service();
  */
public void evaluateDocument(File xmlDocument) {
    try {
        XPathFactory factory = XPathFactory.newInstance();
        XPath xPath = factory.newXPath();
        String requiredServicesExpression = "/Envelope/Header";
        InputSource requiredServicesInputSource = new InputSource(
                new FileInputStream(xmlDocument));
        DTMNodeList requiredServicesNodes = (DTMNodeList) xPath.evaluate(
                requiredServicesExpression, requiredServicesInputSource,
                XPathConstants.NODESET);
        System.out.println(requiredServicesNodes.getLength());
        NodeList requiredNodeList = (NodeList) requiredServicesNodes;
        for (int i = 0; i < requiredNodeList.getLength(); i++) {
            Node node = requiredNodeList.item(i);
            System.out.println(node.getChildNodes());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public static void main(String[] argv) {
    XPathEvaluator evaluator = new XPathEvaluator();
    File xmlDocument = new File("d://eva.xml");
    evaluator.evaluateDocument(xmlDocument);
 }
}
私のxmlはこれをフォローしています私はヘッダー情報を解析しようとしています
   <?xml version="1.0" encoding="UTF-8"?>
   <Envelope>
       <Header>
            <User id="MAKRISH"/>
            <Request-Id id="1"/>
            <Type name="Response"/>
            <Application-Source name="vss" version="1.0"/>
            <Application-Destination name="test" />
            <Outgo-Timestamp date="2012-08-24" time="14:50:00"/>
            <DealerCode>08301</DealerCode>
            <Market>00000</Market>
        </Header>
   </Envelope>
ヘッダーの子を取得できません。どうすれば取得できますか。getchildNodesメソッドでnullが発生します。私は多くの解決策をチェックしましたが、何かを得ます。