Syntax\n------\n\nLOAD XML [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'\n    [REPLACE | IGNORE]\n    INTO TABLE [db_name.]tbl_name\n    [CHARACTER SET charset_name]\n    [ROWS IDENTIFIED BY '<tagname>']\n    [IGNORE number {LINES | ROWS}]\n    [(column_or_user_var,...)]\n    [SET col_name = expr,...]\n\nDescription\n-----------\n\nThe LOAD XML statement reads data from an XML file into a table. Thefile_name must be given as a literal string. The tagname in the optional ROWS IDENTIFIED BY clause must also be given as a literal\\\nstring, and must be surrounded by angle brackets (< and >).\n\nLOAD XML acts as the complement of running the mariadb client in XML output mode (that is, starting the client with the --xml option). To write data from a table to an XML file, use a command such as the\\\nfollowing one from the system shell:\n\n``bash\nshell> mariadb --xml -e 'SELECT  FROM mytable' > file.xml\n`\n\nTo read the file back into a table, use LOAD XML INFILE. By default, the element is considered to be the equivalent of a database table row; this can be changed using the ROWS IDENTIFIED BY clause.\n\nThis statement supports three different XML formats:\n\n Column names as attributes and column values as attribute values:\n\n`xml\n<row column1="value1" column2="value2" .../>\n`\n\n Column names as tags and column values as the content of these tags:\n\n`xml\n<row>\n  <column1>value1</column1>\n  <column2>value2</column2>\n</row>\n`\n\n Column names are the name attributes of tags, and values are\\\n  the contents of these tags:\n\n`xml\n<row>\n  <field name='column1'>value1</field>\n  <field name='column2'>value2</field>\n</row>\n`\n\nThis is the format used by other tools, such as mariadb-dump.\n\nAll 3 formats can be used in the same XML file; the import routine automatically detects the format for each row and interprets it correctly. Tags are matched based on the tag or attribute name and the\\\ncolumn name.\n\nThe following clauses work essentially the same way for LOAD XML as they do for LOAD DATA:\n\n LOW_PRIORITY or CONCURRENT\n LOCAL\n REPLACE or IGNORE\n CHARACTER SET\n (column_or_user_var,...)\n SET\n\nSee LOAD DATA for more information about these clauses.\n\nThe IGNORE number LINES or IGNORE number ROWS clause causes the first number rows in the XML file to be skipped. It is analogous to the LOAD DATA statement's IGNORE ... LINES clause.\n\nIf the LOW_PRIORITY keyword is used, insertions are delayed until no other clients are reading from the table. The CONCURRENT keyword allows the use of concurrent inserts. These clauses cannot be specified together.\n\nThis statement activates INSERT` triggers.\n\nURL: https://mariadb.com/docs/server/reference/sql-statements/data-manipulation/inserting-loading-data/load-data-into-tables-or-index/load-xml