我正在维护一个旧项目,并在迁移到新的服务器环境后
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
但是当我尝试解析xml字符串时:
Document dom = DocumentHelper.parseText(xml);
它打印错误:
位置错误:文档第1行出错:XML声明中需要该版本。嵌套异常:XML声明中需要该版本。
xml的内容是:
<?xml Version="1.0" encoding="UTF-8"?>
<Page>
<Common>
<Device Version="1.0.0" Type="H9" Customer="general " />
<Function Id="GetConfig" WatchId="355372020368356" Style="2"/>
</Common>
</Page>
当我将<?xml Version
更改为小写<?xml version
时,它会成功通过。
但是xml的源代码是我无法改变的,有没有办法配置xml解析器来接受xml声明的大写?
答案 0 :(得分:0)
它是报告问题的基础XML解析器。最简单的解决方法可能是&#34;编辑&#34;输入文件:
Document doc = DocumentHelper.parseText(xml.replaceAll("^<\\?xml +Version", "<?xml version"));