why do I receive an empty document [#document: null] when I read a xml file with xmlread?

I tried to read a simple xml file {<rows> <row id='0'> <cell>65</cell> </row> <row id='1'> <cell>565</cell> </row> <row id='2'> <cell>6565</cell> </row></rows>} and received [#document: null].

 Accepted Answer

I'm not sure why you think that you received an empty document.
The display that you are seeing, [#document: null], consists of two parts. The first part is #document, which is the node name. When you parse XML with xmlread, you always receive a #document node as the top-level node.
>> dom = xmlread('example.xml')
dom =
[#document: null]
>> getNodeName(dom)
ans =
#document
>>
The second part is null, which is the value of the node. null is used to indicate that the node doesn't have a value.
>> getNodeValue(dom)
ans =
[]
>>
A #text node usually has a value. In your example, the text node under the first cell element has a value of '65'.
>> cells = dom.getElementsByTagName('cell');
>> cell = cells.item(0)
cell =
[cell: null]
>> text = cell.item(0)
text =
[#text: 65]
>> getNodeValue(text)
ans =
65
>>

4 Comments

Thank you for the answer. The question was stupid. I had to read more help. I know a little about DOM and found later the answer. However, your answer is useful for me. Now I understand better the logic of Matlab. I'm new in Matlab and document:null disturbed me. I saw that the file was read and I could not understand why document was null.
Very good answer! a lot help for me! thanks a lot!

Sign in to comment.

More Answers (0)

Categories

Products

Tags

Community Treasure Hunt

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

Start Hunting!