使用 RapidXML 解析 Xml 文件时出错
Error while parsing a Xml file with RapidXML
当我尝试解析包含特定日语汉字的 xml 文件时,我有一个"parse_error":
退
如果我将此汉字更改为另一个汉字,则解析效果很好。
知道吗?
PS:我用快速XML解析文件
下面是 xml 文件的示例:
<?xml version="1.0" encoding="UTF-8"?>
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Exam.xsd">
<Patient>
<ESUID>CRodrigueTest-20120423-104410</ESUID>
<Lastname>退</Lastname>
</Patient>
</Root>
这里实际上问题不是 rapidXML 库。问题可能与 basic_ifstream.basic_ifstream 有关,因为 defualt 仅在 ansi 模式下打开文件。所以我们必须将其设置为 utf-8。使用以下代码片段:
basic_ifstream<wchar_t> fFileStream(fullxmlfilepath, ios::binary);
std::locale loc(std::locale::classic(), new std::codecvt_utf8<wchar_t>);
fFileStream.imbue(loc);
xmlFile = new rapidxml::file<wchar_t>(fFileStream);
doc.parse<parse_declaration_node>(xmlFile ->data());
相关文章:
- 读取文件的最后一行并输入到链接列表时出错
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- .h 和.cpp文件分离时出错,但仅使用 .h 文件时没有错误.我做错了什么?
- 在 C/C++ 中打开驻留在 "/sys/" 下的文件时出错
- 在头文件中定义变量不会出错
- 如何在多写入器情况下对文件支持的共享内存中的大页面出错
- JNI,使用两个 .so 文件时出错,其中一个文件需要另一个文件
- 生成文件中隐式规则中的 -c 标志出错
- 编译时出错 - 链接.cpp和头文件
- 从人员矢量插入和读取文件时出错
- LNK2019 在文件中调用静态成员的方法时出错.cpp
- ./main:加载共享库时出错:libopencv_highgui.so.4.0:无法打开共享对象文件:没有这样的文件或
- 猫鼬 - 包含标准C++库文件时出错
- 在f2c.h文件中定义min()max()宏时出错
- ASIOSDK;从hostsample.cpp生成mex文件时出错
- 使用emscripten将c++文件转换为wasm时出错
- 将文本从一个文件复制到另一个c++流时出错
- 在C++目录中搜索文件的函数输出中出错
- 编译包含LLVM API标头的C++文件时出错
- MySQL C++连接器:添加符号时出错:文件格式无法识别