问题描述
用dom4j读取xml文件,遇到如下含有ENTITY的节点时,会将DTD中的表达式带入<regex1>内容中,在设置了setIncludeInternalDTDDeclarations后,仍然有问题,会变成>&typeName;0}<,去了表达式的后2两位最为尾巴贴了上去,而且在其他机器上同一个工程运行后变为>&typeName;,20}<,去了后四位,但在我的机器上没有任何问题,用jdom结果一样,不知道是怎么回事,请诸位帮忙看看,谢谢。Xml文件<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEroot[<!ENTITYtypeName"[^fnrtv`~@^+|';>/]{0,20}">]><root><regex1>&typeName;</regex1></root>
Java代码SAXReadersaxReaderold=newSAXReader();fnlXmlReader=newBufferedReader(newInputStreamReader(newFileInputStream(文件路径),"UTF-8"));saxReaderup.setIncludeInternalDTDDeclarations(false);DocumentupDoc=saxReaderup.read(fnlXmlReader);
在upDoc中已经有问题了
时间: 2024-11-03 15:46:37