Я хотел бы передать переменную, которую я получаю из почтового запроса, в тело xml, чтобы сделать вызов веб-сервису. Как передать переменные javascript в xml?
router.post('/', async (req, res) => {
const sorguNo= req.body.sorguNo;
the variable that I get from post request
const url = 'Url';
const headers = {
'Content-Type': 'text/xml; charset=utf-8',
'soapAction': 'Soap Action'
};
const xml = '<?xml version = "1.0" encoding = "utf-8"?>'+
'<soap:Envelope xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/">' +
'<soap:Header>' +
'<AuthHeader xmlns = "http:">' +
'<userName>username</userName>' +
'<password>password</password>' +
'</AuthHeader>' +
'</soap:Header>' +
'<soap:Body>' +
'<xmlns = "http:..">' +
'<sonucNo></sonucNo>' +
here I would like to use the variable in sonucNo field
'</>' +
'</soap:Body>' +
'</soap:Envelope>';
Как вы сказали, использование обратных кавычек решило проблему. Спасибо !



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это можно сделать с помощью шаблонные литералы:
const sonucNo = "hello";
const xml = `<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope>
<sonucNo>${sonucNo}</sonucNo>
</soap:Envelope>`;
console.info(xml);Это уязвимо для внедрения xml
Ваш xlm - это просто строка. Вы можете использовать строки шаблона для создания многострочной строки, в которую можно вставлять переменные.