xerces sax last html 值中的双引号被忽略

xerces sax last html double quotes in a value is ignored

我正在使用 Xerces SAX 解析 XML 文件。

2 个 HTML 引号之间的值未正确解析,仅显示一个引号,最后一个不是。示例:

<Rating_Text>&quot;a3&quot;</Rating_Text>

被解析为:

"a3

而应该是

"a3"

请问如何解决?

//...
m_pXMLReader->setFeature(XMLUni::fgSAX2CoreValidation, true);
//...
void CXMLMsg::characters(
const   XMLCh* const    chars,
const   XMLSize_t       length
)
{
   char* szData = XMLString::transcode(chars);
if(!isspace(*szData))
{
//
}
XMLString::release(&szData);
}

在调试模式下,我检查了 "chars" 最后一个双引号不存在并且长度正确(它不包括最后一个双引号)。听起来 Xerces 忽略了最后一个 "

如果我用实引号替换 html 双引号的代码 ",我在回调中得到了整个值...那么为什么在使用 HTML 代码来表示双引号的情况下引号,Xerces 决定拆分字符串 ??

好吧,我找到了一个主意,我将处理部分放在 endElement 回调中,而在字符回调中我将连接一个包含元素值的字符串 ;)