Java 解析XML文件时出现异常

Java 解析XML文件时出现异常,java,xml,encoding,Java,Xml,Encoding,当我调用mehtodgetIdFromDatabase从我的XML数据库获取id,但向我显示exception[致命错误]:1:1:prolog中不允许包含内容。 调用方法getIdFromDatabase: nameLayer =getIdLayerFromDatabase("//Project/Layer[Name="+"'"+Name+"'"+"]/@idLayer","ProjectDataBase.xml"); java中的方法: public int getIdFromDatab

当我调用mehtod
getIdFromDatabase
从我的XML数据库获取id,但向我显示
exception[致命错误]:1:1:prolog中不允许包含内容。

调用方法
getIdFromDatabase

nameLayer =getIdLayerFromDatabase("//Project/Layer[Name="+"'"+Name+"'"+"]/@idLayer","ProjectDataBase.xml");
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;
        }
public int getIdFromDatabase(字符串路径XPath,字符串路径)抛出JAXBEException{
intmaxid=-1,id=-1;
DocumentBuilderFactory domFactory=DocumentBuilderFactory.newInstance();
试一试{
DocumentBuilder=domFactory.newDocumentBuilder();
//*****此处的例外情况************************************
Document dDoc=builder.parse(新的InputSource(新的ByteArrayInputStream(Path.getBytes(“UTF-8”)));
XPath=XPathFactory.newInstance().newXPath();
NodeList nl=(NodeList)xPath.evaluate(PathXPath、dDoc、XPathConstants.NODESET);
对于(int i=0;i
XML文件:

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

طبقة  1

问题在于您试图解析的是路径,而不是文件。更改行:

Document dDoc = builder.parse(new InputSource(new ByteArrayInputStream(Path.getBytes("UTF-8"))));
作者:

Document dDoc = builder.parse(new FileInputStream(Path));