2011-08-18 93 views
1

現在,我通過簡單地重寫用戶請求的文件來保存我的數據。我的XML的結構方式是這樣的:用TinyXML修改文檔

Skeleons root 
    Skeleton with string name attribute 
     bone with attributes 
     bone with attributes 
     bone with attributes 
     bone with attributes 
    end Skeleton 
    Skeleton with string name attribute 
     bone with attributes 
     bone with attributes 
     bone with attributes 
     bone with attributes 
    end Skeleton 
    .... 
    end Skeletons root 

我遍歷,看是否所需名稱的骨架存在,如果它想完全重寫。如果不是,我想將它添加到根元素的底部。

有沒有人有這樣的例子?

謝謝

+0

在這兩種情況下,你想添加一個「骨骼」嗎?或者您是否也想修改現有的骨骼? – MSalters

+0

@ MSalters Nope我從不想修改現有的Bone,如果骨架存在,覆蓋它,否則在根結尾處創建一個新的骨架。 – jmasterx

回答

1

基本上,這只是一個分裂步驟的問題。

首先,定義一個TiXmlElement *並將其設置爲0.對Skeletons的所有子代進行重複。如果您找到正確的Skeleton,請將您的TiXmlElement *指向它。其次,如果你還沒有找到它(TiXmlElement *仍然是0),創建一個新的骨架,並指向你的TiXmlElement *它。

最後,在TiXmlElement *下創建一個新的骨骼。

+0

我還需要清除任何舊的孩子骨骼的元素,這是什麼方法? – jmasterx

+0

有什麼問題'TiXmlNode :: RemoveChild()'? – MSalters