我使用XMLDOM节点模块替换xml字段值。如果我正在替换已经具有一些新值的值的xml字段,则下面的代码运行良好。但是如果xml字段为空并且我将其替换/设置为某个值,则代码会出错。
该代码适用于:
<accountId>12345</accountId>
//Replace to
<accountId>99999</accountId>
代码在以下情况下失败:
<accountId></accountId>
//Replace to
<accountId>99999</accountId>
错误消息:无法读取未定义
的属性“数据”使用xmldom模型的Javascript代码:
await (function replaceRequestData(callback) {
//requestPath is the path from where xml structure is read
fs.readFile(requestPath, 'utf8', function(err,data) {
var tempXML = new dom().parseFromString(data);
tempXML.getElementsByTagName("accountId")[0].childNodes[0].data = 99999;
console.log(tempXML.getElementsByTagName("accountId")[0].childNodes[0].data);
var xmlString = new XMLSerializer().serializeToString(tempXML);
callback(null, xmlString);
fs.writeFile(requestPath, xmlString, 'utf8');
//console.log(requestPath);
});
});