RapidXml无法解析具有unicode包含的xml

时间:2017-11-24 07:12:55

标签: c++ xml windows unicode rapidxml

我正在尝试解析具有Unicode字符的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
}

1 个答案:

答案 0 :(得分:1)

我可以通过您的输入重现您的问题,但不会与每个韩国字符一起复制。 事实证明,当解析查找表大小之外的字符时,rapidxml有bug

您可以找到完整的补丁here。我已经确认在应用此补丁后问题已得到解决 希望它会有用。