-
dom4j 读取 XML 文件“特殊字符”问题, 困扰很久,请大家帮忙30
test.xml,内容如下
<?xml version="1.0" encoding="gbk"?>
<DOCUMENT>
<item>
<display>
<pbid>77</pbid>
<introduction> 这里的特殊字符 ®</introduction>
</display>
</item>
</DOCUMENT>
使用dom4j 读取时 ,报如下 Exception ;
Nested exception:
org.xml.sax.SAXParseException: The entity "reg" was referenced, but not declared.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1411)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(XMLDocumentFragmentScannerImpl.java:1892)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3024)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.dom4j.io.SAXReader.read(SAXReader.java:264)
at com.cybercare.util.Branda.getBrandTree(Branda.java:22)
at com.cybercare.util.Start.main(Start.java:11)
请问如何在不人工手动改变test.xml文件的情况下, 通过 dom4j 解析 test.xml文件中的“ ® " 等特殊字符? 谢谢大家 ~~2010年7月21日 14:20
12个答案 按时间排序 按投票排序
-
采纳的答案
不想被解析的文本最好使用<![CDATA[content]]>包含起来,content改为你想要的文本即可。被包含后就是原始文本,不会解析,content可以替换成任何字符,包括xml的保留字。
2010年7月21日 16:09
-
<introduction> ![CDATA[这里的特殊字符 ®]]</introduction>
这是通用的处理方法!别费脑筋的。2010年7月30日 15:00
-
html 与 xml的转义符不同, xml就只有5个:
< <
> >
& &
" "
' '
所以这样写肯定解析错误2010年7月26日 20:13
-
将文件内容改为如下:
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<DOCUMENT>
<item>
<display>
<pbid>77</pbid>
<introduction> 这里的特殊字符 ®</introduction>
</display>
</item>
</DOCUMENT>
我这里能顺利解析了。2010年7月21日 15:09
相关推荐
NULL 博文链接:https://navylee.iteye.com/blog/727103
dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中
// 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...
摘要:C#源码,文件操作,读取XML,DataGrid C#读取XML文件并将其内容显示在DataGrid组件中。可以学习一下如何使用C#读取XML中的节点数据,并将数据内容捆绑在DataGrid列表控件中,本例虽然简单,但在C#应用中是相当...
使用SAX DOM两种解析方式解析文件
详细讲解dom4j用法+例子 1.读取并解析XML文档 2. 取得Root节点 3.遍历XML树 4. XPath支持 5. 字符串与XML的转换 6. 用XSLT转换XML 7. 创建XML 8. 文件输出
由于XML的易共享性等众多优点,XML技术越来越多地被应用于企业数据处理等领域,如应用于企业报表、新闻发布、会计数据处理等等。 XML正快速成为从中间层传送数据到桌面的工具,由于XML的数据可以通过中间层代理与...
从流中读取XML使其可用于网络传输。通过些小技巧,它知道当XML文档读取完毕时,流后面的就一定是其它数据了。TinyXML总假定当它读取到根结点后XML数据就结束了。换句话说,那些具有不止一个根元素的文档是无法被正确...
DWR 自动将DOM、DOM4J、JDOM和XOM转换成DOM树,前面这几种类型都仅仅返回Document,Element,Node.DWR会自动将这些转换成浏览器DOM对象.通常在启动JDOM Converter时会有一个提示信息,除非你想采用JDOMconverter否则可以...
7)注意特殊字符,使用时需要使用转义字符。 注意: 1.第一行一定要写<?xml verson="1.0"?> 2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。...
CSS大家很熟悉了,全称是Cascading Style Sheets(层叠样式表),是目前用来在浏览器上显示XML文档的主要方法。 3.Behaviors Behaviors现在还没有成为标准。它是微软的IE浏览器特有的功能,用它可以对XML标识设定...
* 将文件中的内容读取到字符串对象中 * * @param f * 要读取的 * @return 文件f中的Text内容 * @throws IOException */ public String read(File f) {} =========以下是标签对象类的部分方法============...
在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取。这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多,于是网上...
开发过程中总避免不了遇到恶心的乱码,或者由乱码引发的一系列问题。... 交代背景: 要实现的功能很简单,用dom4J读取XML文件然后借助Spring以及Hibernate将数据写入到MySql数据库(多表)中,当然整个过程是由Spring
概述该项目目前分为两个板条箱:文档-基本DOM操作和从字符串读取/写入XML。 xpath-XPath 1.0表达式的实现。 也有一些分散的实用程序可在命令行中播放。 将来,我希望增加对XSLT 1.0的支持。 目标这个项目有两个目标...
145.如何通过XMLDom在服务器端操作XML文件(示例一) 145.如何通过XMLDom在服务器端操作XML文件(示例二) 146.如何使用XML实现不刷新页面查询数据库 147.如何把HTML表单提交的数据转化成XML文件(第一步) 147.如何...
Mini-XML支持读取UTF-8和UTF-16和UTF-8编码的XML文件和字符串写。数据存储在链表树结构,保留XML数据的层次结构,并且没有预设的限制,可用内存维护任意元素名称,属性和属性值。 Mini-XML特点:采用指针式操作,高...