Need specific XML output

Hi guys, I’m loving n8n. Question: I’m using the XML to JSON node to return XML with a webhook to requests via GET. I see the following output from my code:

2021-05-11 19_44_24-Document - WordPad

Below is my current node setup:

{
  "nodes": [
    {
      "parameters": {
        "path": "SW1",
        "responseMode": "lastNode",
        "options": {
          "responseContentType": "application/xml",
          "responsePropertyName": "data",
          "rawBody": false
        }
      },
      "name": "Webhook1",
      "type": "n8n-nodes-base.webhook",
      "position": [
        690,
        330
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "keepOnlySet": true,
        "values": {
          "number": [],
          "string": [
            {
              "name": "Say",
              "value": "This is a test"
            }
          ]
        },
        "options": {}
      },
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        880,
        330
      ],
      "typeVersion": 1
    },
    {
      "parameters": {
        "mode": "jsonToxml",
        "options": {
          "rootName": "Response"
        }
      },
      "name": "XML1",
      "type": "n8n-nodes-base.xml",
      "position": [
        1080,
        330
      ],
      "typeVersion": 1
    }
  ],
  "connections": {
    "Webhook1": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set": {
      "main": [
        [
          {
            "node": "XML1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

To do so the input JSON needs to be as shown below. That is the format the underline library uses.

  {
    "Say": {
      "$": {
        "voice": "Polly.Johanna-Neural"
      }
    }
  }
Example workflow
 {
      "nodes": [
        {
          "parameters": {},
          "name": "Start",
          "type": "n8n-nodes-base.start",
          "typeVersion": 1,
          "position": [
            310,
            300
          ]
        },
        {
          "parameters": {
            "path": "SW1",
            "responseMode": "lastNode",
            "options": {
              "responseContentType": "application/xml",
              "responsePropertyName": "data",
              "rawBody": false
            }
          },
          "name": "Webhook1",
          "type": "n8n-nodes-base.webhook",
          "position": [
            490,
            300
          ],
          "typeVersion": 1
        },
        {
          "parameters": {
            "keepOnlySet": true,
            "values": {
              "number": [],
              "string": [
                {
                  "name": "Say.$.voice",
                  "value": "Polly.Johanna-Neural"
                }
              ]
            },
            "options": {
              "dotNotation": true
            }
          },
          "name": "Set",
          "type": "n8n-nodes-base.set",
          "position": [
            730,
            300
          ],
          "typeVersion": 1
        },
        {
          "parameters": {
            "mode": "jsonToxml",
            "options": {
              "rootName": "Response"
            }
          },
          "name": "XML1",
          "type": "n8n-nodes-base.xml",
          "position": [
            930,
            300
          ],
          "typeVersion": 1
        }
      ],
      "connections": {
        "Webhook1": {
          "main": [
            [
              {
                "node": "Set",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Set": {
          "main": [
            [
              {
                "node": "XML1",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    }

Acknowledged. One question: Based on your example, where would I add the text “This is a test” ?

Thanks,

To do that, configure the set node as shown in the image below.

{
      "nodes": [
        {
          "parameters": {},
          "name": "Start",
          "type": "n8n-nodes-base.start",
          "typeVersion": 1,
          "position": [
            250,
            300
          ]
        },
        {
          "parameters": {
            "keepOnlySet": true,
            "values": {
              "number": [],
              "string": [
                {
                  "name": "Say.$.Voice",
                  "value": "Polly.Johanna-Neural"
                },
                {
                  "name": "Say._",
                  "value": "This is a test"
                }
              ]
            },
            "options": {}
          },
          "name": "Set",
          "type": "n8n-nodes-base.set",
          "position": [
            690,
            300
          ],
          "typeVersion": 1
        },
        {
          "parameters": {
            "mode": "jsonToxml",
            "options": {
              "rootName": "Response"
            }
          },
          "name": "XML1",
          "type": "n8n-nodes-base.xml",
          "position": [
            990,
            300
          ],
          "typeVersion": 1
        }
      ],
      "connections": {
        "Start": {
          "main": [
            [
              {
                "node": "Set",
                "type": "main",
                "index": 0
              }
            ]
          ]
        },
        "Set": {
          "main": [
            [
              {
                "node": "XML1",
                "type": "main",
                "index": 0
              }
            ]
          ]
        }
      }
    }

Many thanks RicardoE105!