Subject: Re: XPATH Issue
From: Rajesh Jain <rjain15@xxxxxxxxx>
Date: Tue, 30 Nov 2010 18:25:55 -0800 (PST)
|
The XML Document snippet is
<?xml version="1.0" encoding="UTF-8" standalone="no"?><s:Envelope
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><RetrieveResponse
xmlns="http://xxx.com/webservices"><RetrieveResult><StatusType>SUCCESS</StatusType></RetrieveResult></RetrieveResponse></s:Body></s:Envelope>
----- Original Message ----
From: Rajesh Jain <rjain15@xxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Tue, November 30, 2010 9:19:44 PM
Subject: XPATH Issue
Hi
I have a very strange problem and I have spend a whole day trying to figure what
is wrong.
I have a XPATH expression, and if I evaluate from a XML File on disk it works.
If I evaluate from a DOM Object from a HTTP Source, it doesn't work. Both the
documents are exactly same.
XML Document
SUCCESS </RetrieveResult></RetrieveResponse></s:Body></s:Envelope>
// Document from File
// Parse the XML as a W3C document.
DocumentBuilder builder =
DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = builder.parse(new
File("C:\\Users\\smirxj0\\Documents\\Java\\GPN.xml"));
// Alternatively Document from HTTP
InputStream isr = httpConn.getInputStream();
Document document = builder.parse(isr);
// If I print this Document, I have the same output as the XML file
// XPATH Expression
XPath xpath = XPathFactory.newInstance().newXPath();
expression = "//RetrieveResponse/RetrieveResult/StatusType";
String statusString = (String)
xpath.evaluate(expression, document,
XPathConstants.STRING);
System.out.println("String is: " + statusString);
Please let me know where am I going wrong?
Is it a XPATH issue?
Rajesh
|