Archived

This topic is now archived and is closed to further replies.

Omikron

XML parser

Recommended Posts

I use something called tiny xml. some simple classes that parses xml for you... it cannot handle all the fancy extra stuff that xml is about, but it is a minimal lib for parsing the tree structure with the data. enough for games i''d say.

Share this post


Link to post
Share on other sites
quote:
Original post by Ishan
Oh come on, be a real man / woman and write your own. I hammered one out in an afternoon, and it only took 150 lines.

DOM or SAX? What access functionality does it allow? What''s performance like?

Want to post code?



[ MSVC Fixes | STL Docs | SDL | Game AI | Sockets | C++ Faq Lite | Boost
Asking Questions | Organising code files | My stuff | Tiny XML | STLPort]

Share this post


Link to post
Share on other sites
MSXML seems good and is well tested, supports both SAX and DOM.

As for writing your own, well, I disagree, I don''t think Microsoft wrote MSXML in an afternoon!

Share this post


Link to post
Share on other sites
expat (http://www.jclark.com/xml/expat.html) is good and fast, specially if you want to parse big files. LibXML is very good too.
Both are in C, so you might want to use one of the C++ wrapper available.

Nico

Share this post


Link to post
Share on other sites
quote:
Original post by Kylotan
DOM or SAX? What access functionality does it allow? What's performance like?

Want to post code?





Now, I've kept this thing really simple, because it's just for crunching data for my game engine. Basically it consumes xml like:

?xml version="1.0" ?
folder name="console"
string name="promptbeg" ( /string
string name="promptend" )# /string
float name="max_lines" 200 /float
float name="max_remember" 20 /float
vec4 name="color" {0,0.2,0,1} /vec4
folder name="font"
string name="face" Arial /string
/folder
/folder

which can be accessed as follows:


xml xmlfile("file.xml");
string promptbeg = xmlfile.get("/console/promptbeg");
float max_lines = xmlfile.get("/console/max_lines");


Really simple, I'd admit, but it's fast as hell and it makes a very easy interface for storing preferences.

PS Anyone know how to post XML without having the damn bulletin board software strip your tags off?

[edited by - Ishan on April 29, 2003 2:21:08 PM]

[edited by - Ishan on April 29, 2003 2:23:13 PM]

[edited by - Ishan on April 29, 2003 2:48:28 PM]

Share this post


Link to post
Share on other sites