有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javasax解析器;读取特殊字符时出现错误

在我的XML文件中,我有一个带有特殊字符的标记

<journal>Universit&auml;t Trier</journal>

当我运行SAX解析器时,我意识到它将把字符串分成2个部分

String 1: Universit
String 2: &auml;t Trier

然而,我需要将内容作为一个完整的字符串来读取,以便正确地存储在数据库中。我不能把它分成两条线。为什么SAX解析器会这样做

下面的方法是执行读取操作的SAX解析器的一部分

public void characters(char ch[], int start, int length) throws SAXException 
{
                       ...
}

共 (1) 个答案

  1. # 1 楼答案

    这不是一个错误

    这只是SAX的设计方式,为了处理混合内容,它需要采用这种方式

    如果没有混合内容,它实际上相当简单

    您需要做的是在自己的SAX ContentHandler接口实现中重新组合片段

    通常这意味着在startElement方法中初始化StringBuilderStringBuffer字段,在characters方法中附加到它,并在endElement方法中将其转换为String