我有这样一个构造函数:MATLAB:如何使用由字符串定义的名称创建结构字段。
function p = class_name(folder, file_name)
xmlfile = fullfile(folder, file_name);
xDoc = xmlread(xmlfile);
struct = xml2struct(xDoc);
%lots of repetitive code
end
它读取和XML文件,并将其转换为一个结构。
if(isfield(struct.parameters, 'parameter_name'))
p.property_name = struct.parameters.parameter_name.Text;
else
p.property_name = '';
end
我希望把这个变成一个方法/函数,给定的结构元素的名称(这里“PARAMETER_NAME:然后,将结构元素使用的是一些重复的代码是这样定义的类的属性/领域')和类字段/属性的名称(这里是'property_name')将前者指定给后者。
是否可以为此编写一个通用函数/方法?谢谢。
我收到警告。使用结构而不是getfield/setfield的动态字段名称。我想这就是尼克正在做的事情。你能否调整你的代码?谢谢。 – cs0815
@csetzkorn我已经更新了代码。你使用的是什么MATLAB版本?我没有收到警告。无论如何,解释为什么使用动态字段而不是getfield/setfield是一些性能优势。当然,在你的代码中它是否重要取决于你是否需要检查。但是摆脱警告绝对是使用动态字段的一个很好的理由。 – angainor