Sunday, 20 July 2014

Exception when I parse XML file



when i call mehtod getIdFromDatabasefor get id from my XML database but show me exception [Fatal Error] :1:1: Content is not allowed in prolog.


Call method getIdFromDatabase:



nameLayer =getIdLayerFromDatabase("//Project/Layer[Name="+"'"+Name+"'"+"]/@idLayer","ProjectDataBase.xml");


Method in java:



public int getIdFromDatabase(String PathXPath, String Path) throws JAXBException {
int maxid = -1, id = -1;
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = domFactory.newDocumentBuilder();
//***** exception here******************************
Document dDoc = builder.parse(new InputSource(new ByteArrayInputStream(Path.getBytes("UTF-8"))));
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nl = (NodeList) xPath.evaluate(PathXPath, dDoc, XPathConstants.NODESET);
for (int i = 0; i < nl.getLength(); i++) {
id = Integer.parseInt(nl.item(i).getNodeValue());
}

} catch (Exception e) {
e.printStackTrace();
}
return id;
}


XML File:



<?xml version="1.0" encoding="UTF-8"?>
<Project xmlns="http://ift.tt/1pRKsug" name="شئؤ" location="Projects//شئؤ//ProjectDataBase.xml" CreationDate="2014-07-20">
<Layer idLayer="0">
<Name>طبقة 1</Name>
</Layer>
</Project>

No comments:

Post a Comment