0

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

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

当我运行 SAX Parser 时,我意识到它会将字符串分成 2

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

但是我需要将内容作为一个完整的字符串读取,以便正确存储在数据库中。我不能把它分成2个字符串。为什么 SAX Parser 仍然这样做?

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

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

1 回答 1

4

这不是错误。

这就是 SAX 的设​​计方式,为了有可能处理混合内容,它必须是这种方式。

如果没有混合内容,它实际上非常简单。

您需要做的是在您自己的 SAXContentHandler接口实现中重新组合这些片段。

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

于 2013-10-12T19:54:44.187 回答