GMS:2 Compatible

Read, write, create XML files


  1. Read from file or from a xml formatted string
  2. Write out the xml elements to file or to a formatted string
  3. Access to element inner html
  4. Access to element properties
  5. Create, Modify Delete elements
  6. Create, Modify, Delete elements properties
  7. Modify element inner html
  8. Provides functions to navigate through the xml structure
  9. "For Dummies" functions provide easy access to elements without the need to navigate the the xml structure
  10. Search functions to find elements and properties by name so YOU dont have to
  11. Uses UTF-8 to suport special characters
  12. UTF-8 Functions are available to you for your own use

End User Licence Agreement (EULA).

Changes in 1.2.2

Fixed group names in resource tree. no code changes

Version 1.2.2. Published December 23, 2015

Created with GameMaker: Studio v1.4.1690

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Sven H 02 February 2018


Guus T 30 March 2016


Excellent extention, recommended to everyone who needs to deal with XML in their program. I use GM to develop professional software and this extension saved me a ton of time, now I can focus on the product! Must-have for every high profile GM user, especially since it's very cheap.

Nice one TMC :)


John A 02 May 2015


Hi, this is a good extension. One thing I would like to request is to improve the xmlFromString function, I've reviewed the script and it doesn't really convert the string directly to XML, but instead the strings are stored temporarily in an xml file and that XML file is read again using xmlFromFile. I would love it if the xmlFromString function actually takes strings and parses it to XML directly instead of having a temporary file as a workaround.

The reason why I'm asking for this improvement is that I have an XML file that's encrypted and I can't afford to have temporary copies of it anywhere in the player's computer. So I have to read the encrypted strings, decrypted in-game and convert it using xmlToString (without having to create temporary files to store the original XML strings).

Update - in reply to TMC icuurd: thank you!

This review was left for a previous version of this asset.


The Mojo Collective (Publisher) 02 May 2015

I fixed this in 1.2.1. Sorry for the inconvenience. In case your are wondering why this was like that, the xmlFromString was added after I created xmlFromFile() (which initially did everything) but before I had implemented xmlStructurize()...

Package contents

Total size 16.9 KB

datafiles Objects Rooms Scripts
debugwait.gml 157 Bytes read_code_point_from_utf8.gml 2.58 KB TestAllScripts.gml 3.56 KB TestData.gml 10.7 KB TestVals.gml 311 Bytes utf8_string_to_utf8.gml 215 Bytes utf8_to_string.gml 287 Bytes utf_error.gml 76 Bytes utf_getchar.gml 149 Bytes utf_putchar.gml 97 Bytes utf_ungetc.gml 179 Bytes write_utf8.gml 717 Bytes xmlClearElement.gml 376 Bytes xmlCreateEmptyElement.gml 290 Bytes xmlDebug.gml 1.33 KB xmlDelElement.gml 357 Bytes xmlDelProperty.gml 595 Bytes xmlElementAddElement.gml 478 Bytes xmlElementAddProperty.gml 553 Bytes xmlElementClearContent.gml 480 Bytes xmlElementClearProperties.gml 301 Bytes xmlElementClone.gml 1.08 KB xmlElementDelete.gml 535 Bytes xmlElementDeleteProperty.gml 574 Bytes xmlElementFindElement.gml 590 Bytes xmlElementFindElementIndex.gml 606 Bytes xmlElementFindPropertyIndex.gml 443 Bytes xmlElementGetData.gml 331 Bytes xmlElementGetElement.gml 429 Bytes xmlElementGetName.gml 297 Bytes xmlElementGetNumElements.gml 222 Bytes xmlElementGetNumProperties.gml 230 Bytes xmlElementGetPropertyName.gml 515 Bytes xmlElementGetPropertyValue.gml 587 Bytes xmlElementMove.gml 1006 Bytes xmlElementSetData.gml 409 Bytes xmlElementSetName.gml 242 Bytes xmlElementSetPropertyName.gml 490 Bytes xmlElementSetPropertyValue.gml 531 Bytes xmlElementToString.gml 1.93 KB xmlEtrasToProperties.gml 1.82 KB xmlFree.gml 165 Bytes xmlFromFile.gml 588 Bytes xmlFromNew.gml 128 Bytes xmlFromString.gml 2.21 KB xmlGetData.gml 633 Bytes xmlGetElement.gml 722 Bytes xmlGetProperty.gml 831 Bytes xmlGetPropertyDef.gml 554 Bytes xmlNextTag.gml 547 Bytes xmlNextTagData.gml 707 Bytes xmlNoNL.gml 361 Bytes xmlReadLine.gml 499 Bytes xmlSetData.gml 554 Bytes xmlSetElement.gml 884 Bytes xmlSetProperty.gml 899 Bytes xmlStringAfter.gml 156 Bytes xmlStringBefore.gml 134 Bytes xmlStrTok.gml 1.34 KB xmlStructurize.gml 1.61 KB xmlToFile.gml 373 Bytes xmlToString.gml 273 Bytes xmlTrim.gml 307 Bytes

What is the issue?

Back to Top