SA-MP Forums Archive
[Plugin] jXML - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Plugin Development (https://sampforum.blast.hk/forumdisplay.php?fid=18)
+--- Thread: [Plugin] jXML (/showthread.php?tid=574122)



jXML - J4Rr3x - 13.05.2015

jXML
By J4Rr3x
Hi all, today I've made an useful plugin for load/read xml file. This is my first plugin, then I've made basic function for read xml. I've used PugiXML and XPath for made it more faster.

Natives:
pawn Код:
XML_Create(const filename[])
XML:XML_Open(const filename[])
XML_Close(XML:handle)
bool:XML_GetValueAsBool(XML:handle, const node[])
XML_GetValueAsInt(XML:handle, const node[])
Float:XML_GetValueAsFloat(XML:handle, const node[])
XML_GetValueAsString(XML:handle, const node[], destination[], size = sizeof destination)
Changelog:
Код:
14/05/2015:
- Added XML_Create(const filename[])
- Renamed all functions

13/05/2015:
- Made this plugin
Downloads:
[REMOVED]


Re: jXML - ranme15 - 13.05.2015

Needed it so much, thank you


Re: jXML - Abagail - 13.05.2015

No include?


Re: jXML - J4Rr3x - 13.05.2015

Quote:
Originally Posted by ranme15
Посмотреть сообщение
Needed it so much, thank you
You're welcome, download include file.
Quote:
Originally Posted by Abagail
Посмотреть сообщение
No include?
Forgot it, sorry. Added.


Re: jXML - Crayder - 13.05.2015

Nice! I was actually just looking for something like this about a week ago! It wasn't something I absolutely needed but yea, it's useful.

I can compile the linux plugin, but it'll be like an hour because I'm not home atm. EDIT: Tried making the makefile for it, can't get it to work...


Re: jXML - xeeZ - 14.05.2015

I'm sorry but isn't this just a ripoff of another XML plugin's code?


Re: jXML - Emmet_ - 14.05.2015

Quote:
Originally Posted by xeeZ
Посмотреть сообщение
I'm sorry but isn't this just a ripoff of another XML plugin's code?
Looks like the code was ripped from this.

scripting.cpp (Zeex's plugin):

pawn Код:
// native xml_get_string(XML:handle, const xpath[], result[], size = sizeof result);
static cell AMX_NATIVE_CALL n_xml_get_string(AMX *amx, cell *params)
{
    document_iterator i = documents.find(reinterpret_cast<pugi::xml_document*>(params[1]));

    if (i != documents.end())
    {
        char *xpath;
        amx_StrParam(amx, params[2], xpath);

        cell* addr;
        amx_GetAddr(amx, params[3], &addr);

        try
        {
            amx_SetString(addr, pugi::xpath_query(xpath).evaluate_string(*(i->first)).c_str(), 0, 0, params[4]);
            return 1;
        }
        catch (std::exception &e)
        {
            logprintf("XML exception: %s\n", e.what());
        }
    }
    return 0;
}
jXML.cpp (jXML plugin):

pawn Код:
static cell AMX_NATIVE_CALL plugin_xml_get_value_string(AMX *amx, cell *params) // native xml_get_value_string(XML:handle, const node[], destination[], size = sizeof destination);
{
    document_iterator doc = documents.find(reinterpret_cast<pugi::xml_document*>(params[1]));

    if (doc != documents.end())
    {
        char *node;
        amx_StrParam(amx, params[2], node);

        cell* addr;
        amx_GetAddr(amx, params[3], &addr);

        try
        {
            amx_SetString(addr, pugi::xpath_query(node).evaluate_string(*(doc->first)).c_str(), 0, 0, params[4]);
            return 1;
        }
        catch (std::exception &error)
        {
            logprintf("[jXML] Exception: %s\n", error.what());
        }
    }
    return 0;
}



Re: jXML - J4Rr3x - 14.05.2015

WTF? I don't know Zeex's plugin, the look it's the same because I've use PugiXML because I already know and I've used this in other my project. If you believe this is a ripoff, I can delete post and when I add new functions I'll repost the plugin