createTextNode MATLAB 2015b XMLUtils出错

时间:2016-01-26 14:55:26

标签: xml matlab writexml

我将一些数据写入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标记的行中出现此错误:

  

没有方法' createTextNode'找到类' org.apache.xerces.dom.DocumentImpl'的匹配签名。

我没有找到任何搜索互联网的解决方案(问题可能是我在我的电脑上没有管理员)。
我也不明白,为什么我的上半部分没有错误(%NO ERROR

1 个答案:

答案 0 :(得分:0)

我的问题在MATLAB的支持下得以解决:
我的程序中唯一的问题是,struct2包含整数值。
struct1只包含字符串值,所以没有问题 我现在使用num2str来转换数值,并且不再有任何问题;)。