vrl 0.32.0

Vector Remap Language
Documentation
{
  "anchor": "parse_xml",
  "name": "parse_xml",
  "category": "Parse",
  "description": "Parses the `value` as XML.",
  "arguments": [
    {
      "name": "value",
      "description": "The string representation of the XML document to parse.",
      "required": true,
      "type": [
        "string"
      ]
    },
    {
      "name": "trim",
      "description": "Remove excess whitespace between XML elements.",
      "required": false,
      "type": [
        "boolean"
      ],
      "default": "true"
    },
    {
      "name": "include_attr",
      "description": "Include XML tag attributes in the returned object.",
      "required": false,
      "type": [
        "boolean"
      ],
      "default": "true"
    },
    {
      "name": "attr_prefix",
      "description": "String prefix to use for XML tag attribute keys.",
      "required": false,
      "type": [
        "string"
      ],
      "default": "@"
    },
    {
      "name": "text_key",
      "description": "Key name to use for expanded text nodes.",
      "required": false,
      "type": [
        "string"
      ],
      "default": "text"
    },
    {
      "name": "always_use_text_key",
      "description": "Always return text nodes as `{\"<text_key>\": \"value\"}.`",
      "required": false,
      "type": [
        "boolean"
      ],
      "default": "false"
    },
    {
      "name": "parse_bool",
      "description": "Parse \"true\" and \"false\" as boolean.",
      "required": false,
      "type": [
        "boolean"
      ],
      "default": "true"
    },
    {
      "name": "parse_null",
      "description": "Parse \"null\" as null.",
      "required": false,
      "type": [
        "boolean"
      ],
      "default": "true"
    },
    {
      "name": "parse_number",
      "description": "Parse numbers as integers/floats.",
      "required": false,
      "type": [
        "boolean"
      ],
      "default": "true"
    }
  ],
  "return": {
    "types": [
      "object"
    ]
  },
  "internal_failure_reasons": [
    "`value` is not a valid XML document."
  ],
  "examples": [
    {
      "title": "Parse XML",
      "source": "value = s'<book category=\"CHILDREN\"><title lang=\"en\">Harry Potter</title><author>J K. Rowling</author><year>2005</year></book>';\n\nparse_xml!(value, text_key: \"value\", parse_number: false)\n",
      "return": {
        "book": {
          "@category": "CHILDREN",
          "author": "J K. Rowling",
          "title": {
            "@lang": "en",
            "value": "Harry Potter"
          },
          "year": "2005"
        }
      }
    }
  ],
  "notices": [
    "Valid XML must contain exactly one root node. Always returns an object."
  ],
  "pure": true
}