我正在尝试使用js2xmlparser从json对象创建xml文件。我的代码如下:
var js2xmlparser = require("js2xmlparser");
var data = {
"product": "painting",
"88CODE": "-2"
};
console.log(js2xmlparser.parse("product", data));
但它会抛出如下错误:
E:\projects\xml-generator\node_modules\xmlcreate\lib\nodes\XmlElement.js:94
throw new Error("name should not contain characters not"
^
Error: name should not contain characters not allowed in XML names
at XmlElement.set [as name] (E:\projects\xml-generator\node_modules\xmlcreate\lib\nodes\XmlElement.js:94:23)
at new XmlElement (E:\projects\xml-generator\node_modules\xmlcreate\lib\nodes\XmlElement.js:72:20)
at XmlElement.element (E:\projects\xml-generator\node_modules\xmlcreate\lib\nodes\XmlElement.js:218:23)
at parseObjectOrMapEntry (E:\projects\xml-generator\node_modules\js2xmlparser\lib\main.js:130:33)
at parseObjectOrMap (E:\projects\xml-generator\node_modules\js2xmlparser\lib\main.js:152:13)
at parseValue (E:\projects\xml-generator\node_modules\js2xmlparser\lib\main.js:220:9)
at parseToDocument (E:\projects\xml-generator\node_modules\js2xmlparser\lib\main.js:249:5)
at Object.parse (E:\projects\xml-generator\node_modules\js2xmlparser\lib\main.js:265:20)
at Object.<anonymous> (E:\projects\xml-generator\server.js:16:26)
at Module._compile (module.js:570:32)
我希望其中一个节点为&lt; 88CODE&gt;。我该如何解决这个问题? 感谢
答案 0 :(得分:1)
xml标准声明xml元素名称必须以字母或下划线开头...因此您的错误。您的数据属性88CODE
必须重命名。
所以简短的回答是,如果你想要一个名为88CODE
的元素......你会得到这个错误。考虑将元素重命名为其他内容......也许_88CODE
Xml元素命名规则
答案 1 :(得分:0)
这样可以正常工作或更改第二个字段的名称,因此它必须以字母或_
开头var js2xmlparser = require("js2xmlparser");
var data = {
"product": "painting",
"_88CODE": "-2"
};
console.log(js2xmlparser.parse("product", data));