gpt4 book ai didi

javascript - 你如何检查 xsi :nil when parsing XML in Javascript?

转载 作者:行者123 更新时间:2023-11-30 18:45:47 26 4
gpt4 key购买 nike

我过去没有做太多的 XML 解析,我现在有一个页面在 IE 中工作正常但在 Firefox 中失败。 XML 文档对任何空值使用 xsi:nil="true",它看起来像下面的行

<PlannedDistanceInMeters xsi:nil="true" />

我正在使用下面的代码获取所需的文本,它适用于任何具有文本值的节点(workout[i] 是我正在处理的一组节点)。而且它是外部 XML,所以我无法在 XML 端更改任何内容。

workouts[i].getElementsByTagName("PlannedDistanceInMeters")[0].firstChild.data;

出于某种原因,IE 在尝试从“PlannedDistanceInMeters”中获取文本并解析文档时似乎完全忽略了这一点。当我的代码尝试解析该行然后代码失败时,FF 在控制台中出现错误。

错误:workouts[i].getElementsByTagName("PlannedDistanceInMeters")[0].firstChild 为空

那么检查这些空元素的最佳方法是什么?

最佳答案

错误消息本身就是解决方案。如果该元素没有子元素,firstChild 将为 null:

var e = workouts[i].getElementsByTagName("PlannedDistanceInMeters")[0].firstChild;
if (e == null) {
// no child
} else {
// access properties of e
}

或者,您可以显式检查是否存在 xsi:nil 属性:

var e = workouts[i].getElementsByTagName("PlannedDistanceInMeters")[0];
if (e.hasAttribute('xsi:nil')) {
...
} else {
...
}

关于javascript - 你如何检查 xsi :nil when parsing XML in Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com