[Plugin] [REL] XML loader
#1

A very basic plugin that allows you load XML documents and extract data from them using XPath expressions. It is based on pugixml parser/loader by Arseny Kapoulkine.


The following functions are provided:
  • XML:xml_open(const filename[])
    Load an XML document.

  • bool:xml_get_bool(XML:handle, const xpath[])
    Evaluate the result of XPath query as boolean and return it.

  • xml_get_int(XML:handle, const xpath[])
    Evaluate the result of XPath query as integer and return it.


  • Float:xml_get_float(XML:handle, const xpath[])
    Evaluate the result of XPath query as floating point number and return it.


  • xml_get_string(XML:handle, const xpath[], result[], size = sizeof result)
    Return the result of XPath query as string.

  • xml_close(XML:handle)
    Delete the specified document from memory.


Usage example


pawn Код:
#include <xml>


// somewhere...

// Open file example_account.xml
new XML:xml = xml_open("example_account.xml");

// Check whether it was opened
if (xml)
{
    new buf[100];

    // Get some data...
    xml_get_string(xml, "player/profile/sex", buf);
    printf("sex=%s", buf);
    printf("age=%d", xml_get_int(xml, "player/profile/age"));
    printf("x pos=%f", xml_get_float(xml, "player/ingame/saved_position/x"));
    printf("y pos=%f", xml_get_float(xml, "player/ingame/saved_position/y"));
    printf("z pos=%f", xml_get_float(xml, "player/ingame/saved_position/z"));
    xml_get_string(xml, "player/ingame/weapon[@ammo>100]/@name", buf);
    printf(buf);

    // Close when finished working
    xml_close(xml);
}
example_account.xml:
Код:
<?xml version="1.0"?>
<player>
	<profile>
		<password>asdf8s9ad7f2</password>
		<sex>male</sex>
		<age>18</age>
	</profile>
	<ingame>
		<saved_position>
			<x>123.456</x>
			<y>9871.8712</y>
			<z>3.000</z>
		</saved_position>
		<money>100000</money>
		<weapon name="Deagle" ammo="60" />
		<weapon name="Minigun" ammo="5000" />
		<weapon name="Chainsaw" ammo="0" />
	</ingame>
</player>
Downloads
Reply


Messages In This Thread
XML plugin - by Zeex - 27.05.2010, 17:57
Re: [REL] XML loader - by [03]Garsino - 27.05.2010, 18:01
Re: [REL] XML loader - by Calgon - 27.05.2010, 18:02
Re: [REL] XML loader - by Fj0rtizFredde - 27.05.2010, 18:05
Re: [REL] XML loader - by Zeex - 27.05.2010, 18:37
Re: [REL] XML loader - by [03]Garsino - 27.05.2010, 18:43
Re: [REL] XML loader - by Jay_ - 27.05.2010, 18:48
Re: [REL] XML loader - by bpeterson - 27.05.2010, 19:01
Re: [REL] XML loader - by lolumadd - 27.05.2010, 19:04
Re: [REL] XML loader - by lolumadd - 27.05.2010, 19:10
Re: [REL] XML loader - by Zeex - 28.05.2010, 05:59
Re: [REL] XML loader - by TruServe - 28.05.2010, 09:40
Re: [REL] XML loader - by Calgon - 28.05.2010, 09:47
Re: [REL] XML loader - by lolumadd - 28.05.2010, 17:44
Re: [REL] XML loader - by RyDeR` - 28.05.2010, 19:27
Re: [REL] XML loader - by ViruZZzZ_ChiLLL - 29.05.2010, 05:21
Re: [REL] XML loader - by Zeex - 29.05.2010, 09:02
Re: [REL] XML loader - by xomka - 29.05.2010, 10:19
Re: [REL] XML loader - by Rac3r - 29.05.2010, 10:27
Re: [REL] XML loader - by lolumadd - 29.05.2010, 15:03
Re: [REL] XML loader - by Mishanzanza - 06.06.2010, 07:00
Re: [REL] XML loader - by Agent Smith - 07.06.2010, 06:41
Re: [REL] XML loader - by Zeex - 07.06.2010, 10:59
Re: [REL] XML loader - by Romanius - 07.06.2010, 13:19
Re: [REL] XML loader - by Kyosaur - 07.06.2010, 13:35
Re: [REL] XML loader - by Agent Smith - 07.06.2010, 16:14
Re: [REL] XML loader - by ReVo_ - 07.06.2010, 17:34
Re: [REL] XML loader - by Agent Smith - 07.06.2010, 18:01
Re: [REL] XML loader - by ReVo_ - 07.06.2010, 18:18
Re: [REL] XML loader - by Agent Smith - 08.06.2010, 11:52
Re: [REL] XML loader - by Cold_Revenge - 03.08.2010, 12:57
Re: [REL] XML loader - by Zeex - 23.09.2010, 11:45
Re: [REL] XML loader - by Romanius - 24.09.2010, 09:33
Re: [REL] XML loader - by playbox12 - 11.10.2010, 12:57
Re: [REL] XML loader - by Romanius - 24.10.2010, 09:15
Re: [REL] XML loader - by Tronix - 06.11.2010, 08:42
Re: [REL] XML loader - by Remis - 07.11.2010, 00:34
Re: [REL] XML loader - by Tronix - 07.11.2010, 14:51
Re: [REL] XML loader - by rs.pect - 20.11.2010, 17:44
Re: [REL] XML loader - by Typhome - 20.11.2010, 19:58
Re: [REL] XML loader - by Ace_Menace - 21.11.2010, 13:10
Re: [REL] XML loader - by Remis - 21.11.2010, 21:29
Re: [REL] XML loader - by armyoftwo - 26.12.2010, 17:55
Re: [REL] XML loader - by Remis - 28.12.2010, 14:12
Re: [REL] XML loader - by HyperZ - 28.12.2010, 14:29
Re: [REL] XML loader - by armyoftwo - 30.12.2010, 11:49
Re: [REL] XML loader - by DapkMapk - 25.01.2011, 19:05
Re: [REL] XML loader - by QuaTTrO - 26.04.2011, 08:13
Re: [REL] XML loader - by Steamator - 15.06.2011, 00:07
Re: [REL] XML loader - by mitsos1997 - 28.07.2011, 09:09
Re: [REL] XML loader - by Miguel - 12.02.2012, 17:04
Re: [REL] XML loader - by Djole1337 - 25.04.2014, 16:36
Re: [REL] XML loader - by Zorono - 04.06.2017, 09:53

Forum Jump:


Users browsing this thread: 2 Guest(s)