(求救~~)tinyxml读取xml的问题
xml部分内容:
- XML code
<plurals name="Nalbums"> <item quantity="one">1 album</item> <item quantity="other"><xliff:g id="count">%d</xliff:g> albums</item> </plurals>
请问下如何将<xliff:g id="count">%d</xliff:g> albums这一串完整的读取出来,有没有什么接口的?感觉上其实就是第二个item标签的内容,我用ValueStr()函数他只读取到xliff:g这个字串.
另外还有一个问题,现在有一个泰文的xml需要解析,但是解析出来的全是乱码,代码已经支持了中文俄文等的语言,可就是不支持泰文,请问如何解决????
字符转换代码如下(结果保存在wBuffer中):
- C/C++ code
const char* strBuffer = StringElem->FirstChild()->Value();wchar_t wBuffer[10024];wmemset(wBuffer, 0, 10024);MultiByteToWideChar(CP_UTF8, 0, strBuffer, -1, wBuffer, 10024);
附:win7 x64 vs2008 使用unicode字符集
[解决办法]
你这个不符合XML规范吧,只能是tag下包含tag或者值,不能两者共存吧。想实现你这种,可以在tag上加属性就好了,然后读属性。
[解决办法]
1.我都用GetNextElement和GetElementValue来读取内容的
应该找到quantity之后,使用GetFistChildElement来转换
2.
#include “atlconv.h”
USES_CONVERSION
A2W 等于MultiByteToWideChar
W2A 反过来
这个宏方便。用过就知道
[解决办法]
const char* strBuffer = StringElem->FirstChild()->Value();得到的是xliff:g?
那么StringElem->FirstChild()->FirstChild()->Value();应该就是%d了
最后再把属性读出来,自己拼接在一起
[解决办法]