libxml2

De-facto standard library for accessing xml files.

Website: http://xmlsoft.org/
Platforms supported: Win32, Linux
Headers to include: libxml/*.bi
Header version: 2.6.17
Examples: in examples/xml/

Example
	#include Once "libxml/xmlreader.bi"
	#define NULL 0

	Dim As String filename = Command(1)
	If( Len( filename ) = 0 ) Then
	   Print "Usage: libxml filename"
	   End 1
	End If

	Dim As xmlTextReaderPtr reader = xmlReaderForFile( filename, NULL, 0 )
	If (reader = NULL) Then
	   Print "Unable to open "; filename
	   End 1
	End If

	Dim As Integer ret = xmlTextReaderRead( reader )
	Do While( ret = 1 )
	   Dim As Const ZString Ptr constname = xmlTextReaderConstName( reader )
	   Dim As Const ZString Ptr value = xmlTextReaderConstValue( reader )

	   Print xmlTextReaderDepth( reader ); _
	      xmlTextReaderNodeType( reader ); _
	      " "; *constname; _
	      xmlTextReaderIsEmptyElement(reader); _
	      xmlTextReaderHasValue( reader ); _
	      *value

	   ret = xmlTextReaderRead( reader )
	Loop

	xmlFreeTextReader( reader )

	If( ret <> 0 ) Then
	   Print "failed to parse: "; filename
	End If

	xmlCleanupParser( )
	xmlMemoryDump()

