什么导致了这种不一致在xml解析?

6视图(30天)
我有以下XML文件:
< ?xml version =“1.0”编码=“utf - 8”? >
< AddressBook >
<输入>
<名称>友好j . Mathworker < /名称>
< PhoneNumber > < / PhoneNumber > (508) 647 - 7000
<地址hasZip =“不”类型=“工作”> 3个苹果希尔博士,纳蒂克马< /地址>
> < /条目
<输入>
<名称>乔·p·姓< /名称>
< PhoneNumber > < / PhoneNumber > (334) 647 - 8898
<地址hasZip =“不”类型=“工作”> 123 Addr车道,芝加哥纽约< /地址>
> < /条目
<输入>
<名称>玛丽苏Lastname < /名称>
< PhoneNumber > < / PhoneNumber > (508) 552 - 5698
<地址hasZip =“不”类型=“家”> 456另一个Addr、波士顿或< /地址>
> < /条目
< / AddressBook >
我捕捉DOM形式
dom = xmlread(文件)
xmlEl = dom.getDocumentElement ();
应该有3个一级的孩子,对吗?但是当我打电话
xmlEl.getLength ();
答案是7 !
它变得更好:然后我电话
xmlwrite (dom);
然后xmlEl。getLength返回3 !这里正在发生什么?任何帮助将不胜感激
4评论
内森Jessurun
内森Jessurun 2018年7月9日
谢谢你的建议!它似乎工作好。这是一个耻辱,一个包装文件用于非常简单的信息提取。会价值联系Mathworks,还是不能保证性能可靠的基于java的功能吗?

登录置评。

接受的答案

内森Jessurun
内森Jessurun 2018年7月17日
每纪尧姆的答案在上面的评论(//www.tianjin-qmedu.com/matlabcentral/answers/409506-what-causes-this-inconsistency-in-xml-parsing comment_587489)——这些额外的孩子是文本节点,它代表了文字的空间DOM树。非法行为xmlwrite删除这些空间印刷时,它改变了树和收益率的儿童数量是正确的。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!