====================================这个是我的XML====================================<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:syncOrderRelation xmlns:ns2="http://impl.sp.superet.aspire.com">
<ns2:request>
<ns1:demandCode xmlns:ns1="http://model.sp.superet.aspire.com/xsd">
222
</ns1:demandCode>
</ns2:request>
</ns2:syncOrderRelation>
</soapenv:Body>
</soapenv:Envelope>====================================我的解析方法===================================
 InputSource in = new InputSource(new ByteArrayInputStream(strBack.getBytes()));//strBack是上面XML的字符串 String类型
 DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
 dfactory.setNamespaceAware(true);
 try 
 {         Document pv_doc = dfactory.newDocumentBuilder().parse(in);
         NodeIterator nl = XPathAPI.selectNodeIterator(pv_doc, "/soapenv:Envelope/soapenv:Body/ns2:syncOrderRelation/ns2:request/ns1:demandCode/text()");
         System.out.println(nl.nextNode().getNodeValue()); } 
 catch (Exception e) {e.printStackTrace();}====================================结果会报错:================================org.apache.xpath.domapi.XPathStylesheetDOM3Exception: 前缀必须解析为名称空间:ns2
at org.apache.xpath.compiler.XPathParser.errorForDOM3(XPathParser.java:653)
at org.apache.xpath.compiler.Lexer.mapNSTokens(Lexer.java:638)
at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:265)
at org.apache.xpath.compiler.Lexer.tokenize(Lexer.java:96)
at org.apache.xpath.compiler.XPathParser.initXPath(XPathParser.java:110)
at org.apache.xpath.XPath.<init>(XPath.java:176)
at org.apache.xpath.XPathAPI.eval(XPathAPI.java:232)
at org.apache.xpath.XPathAPI.selectNodeIterator(XPathAPI.java:126)
at org.apache.xpath.XPathAPI.selectNodeIterator(XPathAPI.java:106)