RapidXML无法解析具有Unicode Intaints的XML

RapidXml fails to parse xml which has unicode containts

本文关键字:Unicode Intaints XML RapidXML      更新时间:2023-10-16

我正在尝试解析具有unicode chars的XML,但是当我调用Parse函数时,RapidXML给出了例外。

附加代码片段。

注意:相同的代码能够解除ASCII构想。

bool
ParseXmlData(const std::wstring &XmlData)
{
    LPCTSTR thisMethod = L"ParseXmlData()";
    wchar_t* wc_xmlstring = wcsdup(XmlData.c_str());
    xml_document<wchar_t> xmldoc;
    try
    {
        xmldoc.parse<0>(wc_xmlstring);
    }
    catch (rapidxml::parse_error &e)
    {
        std::cout << e.what()
        free (dupStr);
       return false;
    }
    -
    -
    -
    -
    return true
}

我可以通过输入来重现您的问题,尽管并非每个韩国角色都复制它。事实证明,RapidXML在解析字符外部查找表尺寸时具有错误。

您可以在这里找到完整的补丁。我已经验证了应用此补丁后解决的问题。
希望它将有用。