最近我一直在爲我正在開發的遊戲(使用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。 –