2010-02-03 48 views
1

我有幾個關於XML的問題。C++應用程序的XML用法

可以將XML用於普通的C++應用程序而不是使用文本文件嗎?

如果是這樣,這種方法是否有優勢?

最後,我該如何使用XML來存儲數據?需要什麼工具?

問候。

回答

1

您可以使用XML來存儲信息 - 它比文本文件更少人爲可讀,但可以更容易地與其他系統和編碼語言進行通信。 如果您只需要幾個文本/數字屬性,請粘貼屬性文件。 如果您需要多種配置選項,並且您希望使用驗證(可以使用XML模式來完成),自動修改(例如XSL轉換)或與Web服務輕鬆地進行通信,那麼比XML更有用。 如果你想存儲二進制數據,XML可能不是那個答案。雖然可以將它存儲在文件系統中,並將XML用於元數據(即每個文件所在的位置)。

看看阿帕奇的Xerces-C對C++的XML代碼 - http://xerces.apache.org/xerces-c/

+0

非常感謝。 因此,隨着持久性數據越來越大和複雜,我們使用XML。 – SRec0 2010-02-03 10:41:06

1

XML可以被解析爲您的應用程序的文本文件。有可用的庫。
優點:可以更輕鬆地與其他應用程序交換文件,特別是如果您提供XML模式文件。
以XML格式存儲數據可以使用boost.serialization

+0

這個庫不用於序列化對象嗎?我如何將這個庫與XML文檔聯繫起來? – SRec0 2010-02-03 10:43:40

+0

你可以指定它序列化爲XML,當然你可以使用它們的格式,但最終你只需要持久化 – stefaanv 2010-02-03 10:49:41

1

這取決於您想要讀取/寫入的數據類型,但XML通常是存儲結構化和分層數據的好方法。

您可以使用TinyXML等庫來輕鬆解析和編寫C++中的XML文件。

主要缺點是XML冗長;這就是爲什麼您也可以使用替代方法(如JSON)來存儲數據。