What causes this inconsistency in xml parsing?
Afficher commentaires plus anciens
I have the following XML file:
<?xml version="1.0" encoding="utf-8"?>
<AddressBook>
<Entry>
<Name>Friendly J. Mathworker</Name>
<PhoneNumber>(508) 647-7000</PhoneNumber>
<Address hasZip="no" type="work">3 Apple Hill Dr, Natick MA</Address>
</Entry>
<Entry>
<Name>Joe P. Surname</Name>
<PhoneNumber>(334) 647-8898</PhoneNumber>
<Address hasZip="no" type="work">123 Addr Lane, Chicago NY</Address>
</Entry>
<Entry>
<Name>Mary Sue Lastname</Name>
<PhoneNumber>(508) 552-5698</PhoneNumber>
<Address hasZip="no" type="home">456 Another Addr, Boston OR</Address>
</Entry>
</AddressBook>
Which I capture in DOM form with
dom = xmlread(file)
xmlEl = dom.getDocumentElement();
There should be 3 first-level children, correct? But when I call
xmlEl.getLength();
the answer is 7!
It gets better: I then call
xmlwrite(dom);
After which xmlEl.getLength returns 3! What is happening here? Any help would be appreciated
4 commentaires
Guillaume
le 9 Juil 2018
Unfortunately, its documentation is rather sparse and doesn't really explain how the dom is parsed.
A lot of the child nodes are empty #text elements. No idea what that mean.
Nathan Jessurun
le 9 Juil 2018
Guillaume
le 9 Juil 2018
xml2struct seems to be able to handle that properly. From reading the code, it would appear that it just discards these #text empty children.
Nathan Jessurun
le 9 Juil 2018
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Structured Data and XML Documents dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!