<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'。”
有谁知道我在哪里出错?
答案 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;
}
}
}
}
是否为真值。