次の例で時間を節約できると思います。
まず、snake YAML を使用して YAML ドキュメントをロードする必要があります。
javaaddpath C:\temp\snakeyaml-1.7.jar
import('org.yaml.snakeyaml.Yaml')
yamlreader = Yaml();
yml = fileread('C:\temp\test.yml');
jymlobj = yamlreader.load(yml);
その後、Javaオブジェクトからデータにアクセスする必要があります。私は次のルーチンを使用してそれを行いました(これは一般的なルーチンではなく、Matlabのように行列が定義されている特定のタイプのYAMLファイル用に開発されたことに注意してください) )
function Data = Hash2Struct(hashMap)
Data = [];
iterator = hashMap.keySet().iterator();
while (iterator.hasNext())
field = iterator.next();
if ~isempty(field)
d = hashMap.get(field);
switch class(d)
case {'java.util.LinkedHashMap'}
Data.(field) = Hash2Struct(d);
case {'java.util.ArrayList'}
Data.(field) = str2num(d.toString);
otherwise
Data.(field) = d;
end
end
end
がんばれ、ジャン