我正在使用 matlab 的 xmlread 内部函数读取一个简单的 xml 文件。
<root>
<ref>
<requestor>John Doe</requestor>
<project>X</project>
</ref>
</root>
但是当我调用ref
元素的 getChildren() 时,它告诉我它有5 个孩子。
如果我将所有 XML 放在一行中,它就可以正常工作。Matlab 告诉我ref
元素有2 个孩子。
它似乎不喜欢元素之间的空间。
即使我在 oXygen XML 编辑器中运行Canonicalize,我仍然得到相同的结果。因为 Canonicalize 仍然会留下空格。
Matlab 使用 java 和 xerces 处理 xml 内容。
问题:
我该怎么做才能使我的 xml 文件保持人类可读的格式(不是全部在一行中)但仍然让 matlab 正确解析它?
代码更新:
filename='example01.xml';
docNode = xmlread(filename);
rootNode = docNode.getDocumentElement;
entries = rootNode.getChildNodes;
nEnt = entries.getLength