Как заставить Matlab читать правильное количество узлов xml

Я читаю простой файл xml, используя внутреннюю функцию xmlread в matlab.

<root>
    <ref>
        <requestor>John Doe</requestor>
        <project>X</project>
    </ref>
</root>

Но когда я вызываю getChildren ()элемента ref, он сообщает мне, что у него есть 5 дочерних элементов.

Он отлично работает, ЕСЛИ я поместил весь XML в ОДНУ строку . Matlab сообщает мне, что элемент refимеет 2 дочерних элементов.

Кажется, ему не нравятся пробелы между элементами.

Даже если я запускаю Canonicalize в XML-редакторе oXygen, я все равно получаю те же результаты. Потому что Canonicalize по-прежнему оставляет пробелы.

Matlab использует java и xerces для материалов xml.

Вопрос:

Что я могу сделать, чтобы я мог сохранить свой xml-файл в удобочитаемом формате (, а не все в одной строке ), но при этом правильно проанализировать его в Matlab?

Обновление кода:

filename='example01.xml';
docNode = xmlread(filename);
rootNode = docNode.getDocumentElement;
entries = rootNode.getChildNodes;
nEnt = entries.getLength
8
задан capdragon 18 July 2012 в 20:32
поделиться