我将一些数据写入XML文件:
[FileName,PathName] = uiputfile('*.xml','Select the XML file');
if length(FileName) > 3
completePath = [PathName FileName];
% Create the DOM-Object
docNode = com.mathworks.xml.XMLUtils.createDocument('docRootNode');
docRootNode = docNode.getDocumentElement;
docRootNode.setAttribute('version','2.0');
mElement = docNode.createElement('Data1');
docRootNode.appendChild(mElement)
fields = fieldnames(struct1);
for i = 1:numel(fields)
thisElement = docNode.createElement(fields{i});
thisElement.appendChild...
(docNode.createTextNode(struct1.(fields{i}))); %NO ERROR
mElement.appendChild(thisElement);
end
rElement = docNode.createElement('Data2');
docRootNode.appendChild(rElement)
fields = fieldnames(struct2);
for i = 1:numel(fields)
thisElement = docNode.createElement(fields{i});
thisElement.appendChild...
(docNode.createTextNode(struct2.(fields{i}))); %ERROR
rElement.appendChild(thisElement);
end
xmlwrite(completePath, docNode);
end
上周它没有任何问题,但从今天开始,我在运行代码时标记有%ERROR
的行中收到此错误:
没有找到具有匹配签名的类"org.apache.xerces.dom.DocumentImpl"的方法"createTextNode"。
我没有找到任何搜索互联网的解决方案(问题可能是我的 PC 上没有管理员)。
我也不明白,为什么我的上部没有错误(%NO ERROR
)
我的问题在 MATLAB 的支持下得到解决:
我的程序中唯一的问题是,struct2
包含整数值。
struct1
只包含字符串值,所以没有问题。
我现在使用 num2str
转换数值,;)不再有问题。