Javascript XML - 如何返回null值

时间:2016-06-29 14:49:31

标签: javascript xml

<Root>
  <Child1>First Child Value</Child1>
  <Child2>
    <Age>Age1 Value</Age>
    <Age />
    <Name />
  </Child2>
  <Child3>3-1</Child3>
  <Child3>3-2</Child3>
  <Child4>4</Child4>
  <Child5>5</Child5>
  <Child6>6</Child6>
</Root>

<script>
  var xmlDoc = xml.responseXML;
  var x = xmlDoc.getElementsByTagName("Root");
  alert(y[0].getElementsByTagName("Age")[0].childNodes[0].nodeValue);
  alert(y[0].getElementsByTagName("Age")[1].childNodes[0].nodeValue);
<script>

我试图从“Root”&gt;获取空值“Child2”&gt; “Age [1]”但是我收到消息“0x800a138f - JavaScript运行时错误:无法获取未定义或空引用的属性'nodeValue'。”

有谁知道我在哪里出错?

1 个答案:

答案 0 :(得分:1)

getElementsByTagName("Age")[1]为您提供<Age />

它没有子节点,因此.childNodes[0]会为您提供null

null.nodeValue是不允许的。

在尝试读取y[0].getElementsByTagName("Age")[1].childNodes[0]上的属性之前,您需要测试class Program { static void Main(string[] args) { string procName = "ScreenScraper"; // Mind no ".exe" extension here foreach (var process in Process.GetProcessesByName(procName)) { try { var parent = myProcessEx.GetParentProcess(process.Id); Console.WriteLine("{0} {1}; PARENT: {2} {3}", process.Id, process.ProcessName, parent.Id, parent.ProcessName); } catch (ApplicationException exception) { if (exception.InnerException is ArgumentException) { Console.WriteLine("An orphan '{0}' process found with PID {1}. Killing it...", process.Id, process.ProcessName); process.Kill(); } else throw; } } } } 是否为真值。