Parcourir la source

adding examples to the doc

Lee Thomason il y a 14 ans
Parent
commit
87e475a280
3 fichiers modifiés avec 62 ajouts et 2 suppressions
  1. 1 1
      dox
  2. 35 1
      readme.txt
  3. 26 0
      xmltest.cpp

+ 1 - 1
dox

@@ -184,7 +184,7 @@ SEPARATE_MEMBER_PAGES  = NO
 # The TAB_SIZE tag can be used to set the number of spaces in a tab.
 # Doxygen uses this value to replace tabs by spaces in code fragments.
 
-TAB_SIZE               = 8
+TAB_SIZE               = 4
 
 # This tag can be used to specify a number of aliases that acts
 # as commands in the documentation. An alias has the form "name=value".

+ 35 - 1
readme.txt

@@ -83,7 +83,7 @@ Advantages of TinyXML-1
 	<li>Support for some C++ STL conventions: streams and strings</li>
 	<li>Very mature and well debugged code base.</li>
 </ol>
-
+	
 <h2> Features </h2>
 
 <h3> Memory Model </h3>
@@ -188,6 +188,40 @@ an XML document.
 	printer.PushAttribute( "foo", "bar" );
 	printer.CloseElement();
 
+<h2> Examples </h2>
+
+<h4> Load and parse an XML file. </h4>
+@verbatim
+	/* ------ Example 1: Load and parse an XML file. ---- */	
+	{
+		XMLDocument doc;
+		doc.LoadFile( "dream.xml" );
+	}
+@endverbatim
+
+<h4> Lookup information. </h4>
+@verbatim
+	/* ------ Example 2: Lookup information. ---- */	
+	{
+		XMLDocument doc;
+		doc.LoadFile( "dream.xml" );
+
+		// Structure of the XML file:
+		// - Element "PLAY"			the root Element, which is the FirstChildElement of the Document
+		// - - Element "TITLE"		child of the root PLAY Element
+		// - - - Text				child of the TITLE Element
+		
+		// Navigate to the title, using the convenience function, with a dangerous lack of error checking.
+		const char* title = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->GetText();
+		printf( "Name of play (1): %s\n", title );
+		
+		// Text is just another Node to TinyXML-2. The more general way to get to the XMLText:
+		XMLText* textNode = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->FirstChild()->ToText();
+		title = textNode->Value();
+		printf( "Name of play (2): %s\n", title );
+	}
+@endverbatim
+
 <h2> Using and Installing </h2>
 
 There are 2 files in TinyXML-2:

+ 26 - 0
xmltest.cpp

@@ -78,6 +78,32 @@ int main( int /*argc*/, const char* /*argv*/ )
 		_CrtMemCheckpoint( &startMemState );
 	#endif	
 
+	/* ------ Example 1: Load and parse an XML file. ---- */	
+	{
+		XMLDocument doc;
+		doc.LoadFile( "dream.xml" );
+	}
+	
+	/* ------ Example 2: Lookup information. ---- */	
+	{
+		XMLDocument doc;
+		doc.LoadFile( "dream.xml" );
+
+		// Structure of the XML file:
+		// - Element "PLAY"			the root Element
+		// - - Element "TITLE"		child of the root PLAY Element
+		// - - - Text				child of the TITLE Element
+		
+		// Navigate to the title, using the convenience function, with a dangerous lack of error checking.
+		const char* title = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->GetText();
+		printf( "Name of play (1): %s\n", title );
+		
+		// Text is just another Node to TinyXML-2. The more general way to get to the XMLText:
+		XMLText* textNode = doc.FirstChildElement( "PLAY" )->FirstChildElement( "TITLE" )->FirstChild()->ToText();
+		title = textNode->Value();
+		printf( "Name of play (2): %s\n", title );
+	}
+
 	{
 		static const char* test[] = {	"<element />",
 									    "<element></element>",