防止 JavaScript 在 XML 具有空节点值时中断

prevent javascript from breaking when xml has an empty node value

本文关键字:节点 中断 JavaScript XML 防止      更新时间:2023-09-26

我有以下xml的例子:

<LOCAL_AUTHORITY>
     <NAME>Derby</NAME>
     <REGION></REGION>
     <IRD>22%</IRD>
<LOCAL_AUTHORITY>

我有以下JavaScript:

localAuthorities=xmlDoc.getElementsByTagName("LOCAL_AUTHORITY");
alert(localAuthorities[0].getElementsByTagName("REGION")[0].childNodes[0].nodeValue);
alert('This get triggered so javascript is not broken');

我的问题是,除非您在 xml 中给区域一个值,否则 javascript 会中断。对任何响应者都很友善。如何防止它破裂?

阅读之前,您需要确保那里有一些东西。 基本思想:

var nodes = localAuthorities[0].getElementsByTagName("REGION")[0].childNodes;
var value = nodes.length===1 ? nodes[0].nodeValue : "";
alert(value);
你可以

做:

localAuthorities=xmlDoc.getElementsByTagName("LOCAL_AUTHORITY");
// validate if there is region or not
if (localAuthorities[0].getElementsByTagName("REGION")[0].val()){
  alert(localAuthorities[0].getElementsByTagName("REGION")[0].childNodes[0].nodeValue);
  alert('This get triggered so javascript is not broken');
}