потеря ведущих нулей при использовании fast-xml-parser
Я использую fast-xml-parser, и у меня есть проблема с сохранением начальных нулей. Я упростил пример до сути моей проблемы.
Я хотел бы сохранить эти ведущие нули в значении элемента в xmlOutput. Я хочу, чтобы xmlOutput в конечном итоге равнялся xmlInput, поэтому xmlOutput должен быть
<item>08</item> instead of <item>8</item> which is what I get now.
Как я могу это настроить?
Запустите приведенный ниже код следующим образом: node xmlparse
const { XMLParser, XMLBuilder, XMLValidator } = require("fast-xml-parser");
const options = {
parseTrueNumberOnly: true //if true then values like "+123", or "0123" will not be parsed as number.
};
const xmlInput = '<item>08</item>';
console.log(xmlInput);
const parser = new XMLParser(options);
let jsonData = parser.parse(xmlInput);
console.log(JSON.stringify(jsonData));
const builder = new XMLBuilder();
const xmlOutput = builder.build(jsonData,options)
console.log(xmlOutput);
Я ожидал <item>08</item>, но получил <item>8</item>
2 ответа
const options =
{
"alwaysCreateTextNode": false,
"attributeNamePrefix": "@_",
"attributesGroupName": false,
"textNodeName": "#text",
"ignoreAttributes": true,
"removeNSPrefix": true,
"parseNodeValue": true,
"parseAttributeValue": false,
"allowBooleanAttributes": false,
"trimValues": true,
"cdataTagName": "#cdata",
"preserveOrder": false,
"numberParseOptions": {
"hex": false,
"leadingZeros": false
}
}
//OPTION
const parser = new XMLParser(options);
let jObj = parser.parse(data);
const options = {
parseTrueNumberOnly : true,
};
let xml = `<root><value>0123</value></root>`;
let res = fastXmlParser.parse(xml, options);