Parsejar fitxers XML
Salta a la navegació
Salta a la cerca
llibreria de C++ per parsejar XML: tinyxml
descomprimeixo i
$ sudo make
o bé compilem directament:
$ g++ -o xmltest tinyxml.cpp tinyxmlparser.cpp xmltest.cpp tinyxmlerror.cpp tinystr.cpp $ ./xmltest
Exemple pràctic. ROMs d'AdvanceMAME
El format del fitxer MAME 106u13.dat és:
- http://www.progettosnaps.net/dats/ (per a AdvanceMame necessito la versió 0.106 de MAME)
<?xml version="1.0"?> <!DOCTYPE datafile PUBLIC "-//Logiqx//DTD ROM Management Datafile//EN" "http://www.logiqx.com/Dats/datafile.dtd"> <datafile> <header> <name>MAME</name> <description>MAME 0.106u13</description> <category>Emulation</category> <version>0.106u13</version> <date>-not specified-</date> <author>AntoPISA</author> <email>progettosnaps@gmail.com</email> <homepage>http://www.progettosnaps.net/</homepage> <url>-not specified-</url> <comment>-not specified-</comment> <clrmamepro/> </header> <game name="005" sourcefile="segar.c"> <description>005</description> <year>1981</year> <manufacturer>Sega</manufacturer> <rom name="1346b.u25" size="2048" crc="8e68533e" sha1="a257c556d31691068ed5c991f1fb2b51da4826db"/> <rom name="5092.u1" size="2048" crc="29e10a81" sha1="c4b4e6c75bcf276e53f39a456d8d633c83dcf485"/> <rom name="5093.u2" size="2048" crc="e1edc3df" sha1="4f593546bbb0f50850dc6286cb514af6831c27a7"/> <rom name="5094.u3" size="2048" crc="995773bb" sha1="98dd826527853bc031edfb9a821778cc3e906150"/> <rom name="5095.u4" size="2048" crc="f887f575" sha1="de96573a91b60b090b1f441f1410ecad63c9467c"/> <rom name="5096.u5" size="2048" crc="5545241e" sha1="ee504ccaab469100137717341a1b461175ff792d"/> <rom name="5097.u6" size="2048" crc="428edb54" sha1="4f3df6017068d939014a8f638f28e3228acb7add"/> <rom name="5098.u7" size="2048" crc="5bcb9d63" sha1="c0c91bc9f75ad88a6e15c554a980d5c075725fe8"/> <rom name="5099.u8" size="2048" crc="0ea24ba3" sha1="95a30c9b63ef1c346df0da71af3fdecd1a75cb8f"/> <rom name="5100.u9" size="2048" crc="a79af131" sha1="0ba34130174e196015bc9b9c135c420209dfd524"/> <rom name="5101.u10" size="2048" crc="8a1cdae0" sha1="f7c617f9bdb7818e6069a981d0c8820deade134c"/> <rom name="5102.u11" size="2048" crc="70826a15" sha1="a86322d0e8a88534e9b78dcde42ae4c441276913"/> <rom name="5103.u12" size="2048" crc="7f80c5b0" sha1="00748cd5fc7f75fdca194e748524d406c006296d"/> <rom name="5104.u13" size="2048" crc="0140930e" sha1="f8ef894c46d3663bd89d2d817675a67075d3e0d6"/> <rom name="5105.u14" size="2048" crc="17807a05" sha1="bd99f5beab0155f6e4d2fab2fa5f4e147c5730d5"/> <rom name="5106.u15" size="2048" crc="c7cdfa9d" sha1="6ab7adc60ac7bb53a7175e8de51924008737c9ac"/> <rom name="5107.u16" size="2048" crc="95f8a2e6" sha1="89c92e000b3e1630380db779370cf9f5b13e5719"/> <rom name="5108.u17" size="2048" crc="d371cacd" sha1="8f2cdcc0b4e3b77e0958d257e37accefc5749cde"/> <rom name="5109.u18" size="2048" crc="48a20617" sha1="5b4bc3beda0404ff0a61bb42751b87f71817f363"/> <rom name="5110.u19" size="2048" crc="7d26111a" sha1="a6d3652ae606a5b75026e524c9d6aaa78300741e"/> <rom name="5111.u20" size="2048" crc="a888e175" sha1="4c0af94441bf51dfc852372a5b90d0830df81363"/> <rom name="epr-1286.16" size="2048" crc="fbe0d501" sha1="bfa277689790f835d8a43be4beee0581e1096bcc"/> </game> <game name="11beat" sourcefile="aleck64.c"> <description>Eleven Beat</description> <year>1998</year> <manufacturer>Hudson</manufacturer> <rom name="nus-zhaj.u3" size="8388608" crc="95258ba2" sha1="0299b8fb9a8b1b24428d0f340f6bf1cfaf99c672"/> </game> <game name="1941" sourcefile="cps1.c"> <description>1941 - Counter Attack (World)</description> <year>1990</year> <manufacturer>Capcom</manufacturer> <rom name="41_09.rom" size="65536" crc="0f9d8527" sha1="3a00dd5772f38081fde11d8d61ba467379e2a636"/> <rom name="41_18.rom" size="131072" crc="d1f15aeb" sha1="88089383f2d54fc97026a67f067d448eee5bd0c2"/> <rom name="41_19.rom" size="131072" crc="15aec3a6" sha1="8153c03aba005bab62bf0e8b3d15ec1c346326fd"/> ...
A mi només m'interessa el nom de la rom i el nom del joc (descripció).
creat per Joan Quintana Compte, desembre 2011, gener 2016