最近我一直在为我正在开发的游戏(使用Cocos2d-X)的本地化系统使用XML文件。我正在使用PugiXML来解析XML本地化文件。使用换行符(\n
)字符解析英文字符串时遇到问题。把更准确地,在XML文件中:PugiXML C++新行处理问题:' n n'变成'\ n \ n'
的问题是,这些PugiXML人物\n\n
解析成\\n\\n
。这是它看起来像调试器:
注意:系统正在尝试翻译的字符串是
englishstring (englishstring std::__1::string "(We?[lcom]*e)(to|Regex).+\n\n(tap to continue)")
和pugixml被返回的字符串是
engString(engString std::__1::string "(We?[lcom]*e)(to|Regex).+\\n\\n(tap to continue)")
明显地比较这两个str ings失败了,所以没有任何东西被翻译。另外,Cocos2d-X不会画\\n
的换行符,因此设置所有换行符也不是一个选项。
我明白这可能是想要的行为,但我的问题是:我该如何修复/禁用此行为?我已经将我的XML解析模式设置为pugi::parse_minimal
,但它仍然返回\\n
个字符。
谢谢,这正是我所需要的。详细地说,向XML中添加换行符并没有对PugiXML做任何事情,但 似乎工作得很好,正是我所需要的。我还想指出,PugiXML需要它的默认解析选项才能工作,这意味着使用pugi :: parse_minimal不会将 转换为\ n。 –