我使用jaxb来解组xml文档。在分析XML时,它抛出了一个用XmlstreamException包装的MalformedUrlexception。我的理解是,在创建xmlstreamreader对象本身时,它抛出了异常。有什么建议吗?
我正在使用的代码段:

    XMLInputFactory xif = XMLInputFactory.newFactory();
    XMLResolver resolver = new XMLResolver(); //to capture systemID, base URI etc.
    xif.setXMLResolver(resolver);

    //Throws MalformedURLException  while processing the below line
    XMLStreamReader xsr = xif.createXMLStreamReader(new StreamSource(fileToProcess));

    JAXBContext jaxbContext = JAXBContext.newInstance(MyPackage.MyClassName.class);

以下是异常跟踪:
     class javax.xml.stream.XMLStreamException
     javax.xml.stream.XMLStreamException: java.net.MalformedURLException: no protocol:       [XML_FILEPATH/XML_FILE_NAME]

filetoprocess是一个包含绝对路径的字符串,如/home/project/input/myproject.xml
运行时JDK是1.7。我有没有丢失签名/协议?
谢谢,
巴斯卡尔

最佳答案

试试这个:

XMLStreamReader streamReader = factory.createXMLStreamReader(
new FileReader("data\\test.xml"));

10-08 14:27