我应该使用哪些fast-xml-parser选项将输入的XML文档解析为JSON,然后编写相同的XML文档,并保留所有名称空间,属性名称和值?
由于要保留属性和名称空间,因此ignoreAttributes
和ignoreNameSpace
应该设置为false。从XML解析为JS对象然后再解析为XML时,属性前缀应该相同。这是完整的示例;
const xmlInput = `<any_name a="abc">
<ns:person>
<name1>Jack 1</name1 >
<name2>35</name2>
</ns:person>
</any_name>`;
const options = {
attributeNamePrefix : "@_",
//attrNodeName: false,
//textNodeName : "#text",
ignoreAttributes : false,
ignoreNameSpace: false,
};
const jsonOptions = {
attributeNamePrefix : "@_",
//attrNodeName: false,
//textNodeName : "#text",
ignoreAttributes : false,
ignoreNameSpace: false,
//format: true,
//indentBy: " ",
//supressEmptyNode: false,
};
const json = x2jParser.parse(xmlInput, options);
const parserJson = new j2xParser(jsonOptions);
const xmlOutput = parserJson.parse(json, jsonOptions);
输入XML
<any_name a="abc">
<ns:person>
<name1>Jack 1</name1 >
<name2>35</name2>
</ns:person>
</any_name>
输出XML
<any_name a="abc">
<ns:person>
<name1>Jack 1</name1>
<name2>35</name2>
</ns:person>
</any_name>