最近要做一個(gè)VRP的算法,測(cè)試集都是放在Xml文件中,而我的算法使用C++來寫,所以需要用C++來讀取Xml文件。
在百度上搜“C++讀取Xml文件”,可以出來很多博客,大多數(shù)是關(guān)于tinyXml的,所以這篇博文也是講述如何用tinyXML來讀取XML文件。
有些內(nèi)容可能參考到了@marchtea的博文《C++讀取XML,tinyXml的使用》:http://www.cnblogs.com/marchtea/archive/2012/11/08/2760593.html。
tinyXml是一個(gè)免費(fèi)開源的C++庫(kù),可以到官網(wǎng)上下載:https://sourceforge.net/projects/tinyxml/。
下載下來解壓之后,可以看到下面這些文件:
我是在windows下用VS來寫C++的,按照@marchtea的說法,只需要直接打開tinyxml.sln就可以,不過我還是用了笨辦法:
把tinystr.cpp, tinyxml.cpp, tinyxmlerror.cpp, tinyxmlparser.cpp, tinystr.h, tinyxml.h拷貝到工程目錄下;
然后加入頭文件引用:#include "tinystr.h" #include "tinyxml.h"。
接下來就來分享一下我讀取VRP問題中的solomon benchmark的方法,這些方法都是參考自tinyXml的官方教程,在下載的文件夾中有"doc"子文件夾,打開它,有一個(gè)叫做"tutorial0"的html文件,打開它可以看到詳細(xì)的教程。