我正在获取一个 xml 文件并希望从中获取数据。xml 的来源并不重要,但我必须得到的某个字段是:
tracks = xmlDoc.getElementsByTagName("track");
variable = tracks.item(i).childNodes.item(4).childNodes.item(0).nodeValue;
现在这就像一个魅力,除非节点中没有价值。所以如果结构是这样的:
<xml>
<one>
<two>nodeValue</two>
</one>
<one>
<two></two>
</one>
</xml>
小部件将在第二个“one”节点上崩溃,因为“two”节点中没有值。控制台说:
TypeError: tracks.item(i).childNodes.item(4).childNodes.item(0) has no properties
关于如何让小部件只将空视为空字符串(null、空或“”)而不是崩溃的任何想法?我在猜测data、getValue()、text或其他内容。
使用
var track= xmlDoc.getElementsByTagName('track')[0];
var info= track.getElementsByTagName('artist')[0];
var value= info.firstChild? info.firstChild.data : '';
不起作用并返回“TypeError:track has no properties”。那是从第二行调用艺术家的地方。