Wrong depth while using xmlread

1 次查看(过去 30 天)
I have a xml file that roughly looks like this (I just skipped the binary data):
<?xml version="1.0"?>
<VTKFile type="ImageData" version="0.1" byte_order="LittleEndian">
<ImageData WholeExtent="-1 65 -1 36 0 0" Origin="0 0.289062 0" Spacing="0.0078125 0.0078125 0.0078125">
<Piece Extent="-1 65 -1 36 0 0">
<PointData>
<DataArray type="Float32" Name="cuboid" format="binary" encoding="base64">cCkAAA</DataArray>
</PointData>
</Piece>
</ImageData>
</VTKFile>
parsing it with xmlread (same code as here: xmlread) works fine for all nodes but the 'DataArray'.
Here i get a node with the right attributes. But the data is listed in further child named #text.
I would be glad if someone could explain it to me why this happens =)
System: Win7 Proffesional 64bit Matlab 2015a 64bit

采纳的回答

Guillaume
Guillaume 2015-7-15
Note that xmlread delegates all the xml parsing and DOM building to java.
This is correct behaviour. type, Name, format, and encoding are all attributes of the DataArray tag and anything between the > and the corresponding closing tag are children of the tag (the same way that DataArray is a child of pointData.
The textual content of a tag is indeed a new TEXT node according to the official DOM.
  1 个评论
KAE
KAE 2017-3-7
FYI I found xlm2struct from the file exchange to be easy to use if that helps.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by