作者:摩羯法国反弹 | 来源:互联网 | 2023-05-23 21:27
我对解析xml文件有疑问-
我正在使用ACE库-ACEXML_XMLFilterImpl :: parser(ACEXML_Inputsource * input)来解析xml文件。
该文件采用UTF8编码,值“标签”可以使用不同的语言,例如阿拉伯语。
在解析器功能之后,以另一种语言编写的值以乱码显示。
但是,如果编码为UTF16,则可以正常工作
该代码是跨平台的,对于Windows和Linux也是如此。
我正在使用的当前操作系统是intel_x64,Windows 10。
代码:
bool C_XmlParser::InitialParser()
{
if (((ACEXML_FileCharStream*)stm_)->open(xmlFileNAme_.c_str()) != 0)
{
return false;
}
input_ = new ACEXML_Inputsource(stm_ /*the type is:CharStream*/ )
if (!parser_)
{
parser_ = new ACEXML_Parser;
}
xmlParser_ = new C_Parser(*parser_) /* this is my class which inherits from ACEXML_XMLFilterImpl*/
try
{
xmlParser_ ->parser(input_); /* the declaration of this function is: "
ACEXML_XMLFilterImpl::parser(ACEXML_Inputsource *input) " */
}
catch(ACEXML_Exception *ex)
{
ex->print()
return false;
}
}
我不明白我在做什么错,
我将不胜感激
谢谢!