I want to read below XML Response but it is giving an error.
<html>
<head>
<title>OK</title>
</head>
<body>
<h1>OK</h1>
<table>
<tbody>
<tr>
<td>Status</td>
<td><div id="Status">200</div></td>
</tr>
<tr>
<td>Message</td>
<td><div id="Message">Page created</div></td>
</tr>
<tr>
<td>Location</td>
<td><a href="/content/parentnode/demopage" id="Location">/content/parentnode/demopage</a></td>
</tr>
<tr>
<td>Parent Location</td>
<td><a href="/content/parentnode" id="ParentLocation">/content/parentnode</a></td>
</tr>
<tr>
<td>Path</td>
<td><div id="Path">/content/parentnode/demopage</div></td>
</tr>
<tr>
<td>Referer</td>
<td><a href="" id="Referer"></a></td>
</tr>
<tr>
<td>ChangeLog</td>
<td><div id="ChangeLog"><pre></pre></div></td>
</tr>
</tbody>
</table>
<p><a href="">Go Back</a></p>
<p><a href="/content/parentnode/demopage">Modified Resource</a></p>
<p><a href="/content/parentnode">Parent of Modified Resource</a></p>
</body>
</html>
I am trying to read the "Page created" message with the below code
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(new InputSource(new StringReader(response.toString())));
NodeList nodes = doc.getElementsByTagName("div");
if (nodes.getLength() > 0) {
Element ele = (Element) nodes.item(0);
System.out.println("Page created -"
+ ele.getElementsByTagName("//div[contains(@id,'Message')]").item(0).getTextContent());
} else {
}
[Fatal Error] :1:1: Content is not allowed in prolog.
Exception in thread "main" org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:262)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at working.OkhttpCreatePage.main(OkhttpCreatePage.java:40)
Line number 40 is .parse(new InputSource(new StringReader(response.toString())));
What am I doing wrong?