使用stax文件出错,分析原因是dtd声明
请大家帮忙看一下,谢谢:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ONIXmessage SYSTEM "http://www.editeur.org/onix/2.1/short/onix-international.dtd">
这是我的声明xml声明部分,当我使用stax去解析该文件时,出现错误:
我分析了该原因是DTD声明的问题,请问用stax如何处理该dtd声明,谢谢
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ONIXmessage SYSTEM "http://www.editeur.org/onix/2.1/short/onix-international.dtd">
这是我的声明xml声明部分,当我使用stax去解析该文件时,出现错误:
XMLInputFactory inputFactory = XMLInputFactory.newInstance();
InputStream input = new FileInputStream(new File("test.xml"));
XMLEventReader xmlEventReader = inputFactory.createXMLEventReader(input);
while (xmlEventReader.hasNext())
{
XMLEvent event = xmlEventReader.nextEvent();//加载该事件流的时候就报以下错误
}
2010-01-28 23:01:14 | ERROR | IREAD | [Exception]exception stack info
java.lang.IllegalStateException: Can't overwrite cause
at java.lang.Throwable.initCause(Throwable.java:320)
at com.ctc.wstx.compat.Jdk14Impl.setInitCause(Jdk14Impl.java:70)
at com.ctc.wstx.exc.WstxException.<init>(WstxException.java:46)
at com.ctc.wstx.exc.WstxIOException.<init>(WstxIOException.java:16)
at com.ctc.wstx.sr.StreamScanner.throwFromIOE(StreamScanner.java:683)
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1086)
at com.ctc.wstx.evt.WstxEventReader.nextEvent(WstxEventReader.java:196)
我分析了该原因是DTD声明的问题,请问用stax如何处理该dtd声明,谢谢
...全文
相关推荐
DTD(文档类型定义)
文档类型3种形式 博文链接:https://it-ming-java.iteye.com/blog/1700776
Java操作XML的实用指南与实践
本文还有配套的精品资源,点击获取 简介:Java操作XML是数据处理中的重要技能,涉及到多种技术和解析器。本课程将介绍关键的Java XML处理库如JAXB、DOM、SAX和StAX,以及如何选择适合特定需求的技术。学生将学习如何将Java类映射到XML,以及如何使用不同解析器遍历、修改XML文档。通过实践示例,课程旨在帮助学生深入理解XML操作,并为处理各种XML任务打下...
dtd.rar_dtd_java dtd_xml dtd
可以验证DTD规范的java程序,DTD规范是验证XML文件是否合法的文件
JavaWeb开发技术-DTD约束.pptx
JavaWeb开发技术-DTD约束.pptx
关于面试XML的文档
这是一个关于面试XML试题的文档.比如有XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?



