2009年4月9日 星期四

TinyXml element value保護

在TinyXml中,如果要取得一個Element的value
可以使用GetText(),但如果這是一個空的element,
TinyXml的傳回值是0,所以如果要用string直接接的話
就會發生錯誤,一定要加一層保護
string xml = "<test>"
" <empty></empty>"
" <more>i has value.</more>"
"</test>";
string value = "";
TiXmlDocument xmlDoc;
xmlDoc.Parse(xml);

TiXmlElement *rootEl = xmlDoc.rootElement();
TiXmlElement *emptyEl = rootEl->FirstChildElement("empty");

const char *check = emptyEl->GetText();
if(check != NULL)
value = check;

...
...

沒有留言:

張貼留言