<p>I've used the StAX API in Java quite a bit, and find it quite a clean way of dealing with XML files. Is there any equivalent library I could use for performing similar processing in C?</p>

[{'answer_id': 37452, 'author': 'John Millikin', 'author_id': 3560, 'author_profile': 'https://Stackoverflow.com/users/3560', 'pm_score': 1, 'selected': True, 'text': '<p><a href="http://xmlsoft.org/" rel="nofollow noreferrer">libxml</a> is a heavily used and documented XML library for C, which provides a SAX API. <a href="http://expat.sourceforge.net/" rel="nofollow noreferrer">Expat</a> is another, but in my experience is not as well documented.</p>\n'}, {'answer_id': 37455, 'author': 'Brian Stewart', 'author_id': 3114, 'author_profile': 'https://Stackoverflow.com/users/3114', 'pm_score': 0, 'selected': False, 'text': '<p>I have used Expat pretty extensively - I like it for its simplicity and small footprint.</p>\n'}, {'answer_id': 465382, 'author': 'OJW', 'author_id': 46478, 'author_profile': 'https://Stackoverflow.com/users/46478', 'pm_score': -1, 'selected': False, 'text': '<p>Expat does StAX</p>\n\n<p><pre><code>\n #include "expat.h"`\nVRM_parser = XML_ParserCreate("ISO-8859-1");\nXML_SetElementHandler(VRM_parser, CbStartTagHandler, CbEndTagHandler);\nXML_Parse(VRM_parser, text, strlen(text), 0); // start of XML\nXML_Parse(VRM_parser, text, strlen(text), 0); // more XML\nXML_Parse(VRM_parser, text, strlen(text), 0); // more XML\nXML_Parse(VRM_parser, text, strlen(text), 0); // more XML\nXML_Parse(VRM_parser, "", 0, 1); // to finish parsing\n</pre></code></p>\n'}, {'answer_id': 2459217, 'author': 'kert', 'author_id': 295231, 'author_profile': 'https://Stackoverflow.com/users/295231', 'pm_score': 0, 'selected': False, 'text': '<p>If you are not opposed to C++ then <a href="http://llamaxml.berlios.de/" rel="nofollow noreferrer">try LLama</a></p>\n'}]
['https://Stackoverflow.com/questions/37449', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/797/']