Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我能';似乎无法正确解析JS中的XML数据_Javascript_Html_Xml - Fatal编程技术网

Javascript 我能';似乎无法正确解析JS中的XML数据

Javascript 我能';似乎无法正确解析JS中的XML数据,javascript,html,xml,Javascript,Html,Xml,我有一个输入字段,其中包含以下文本: <?xml version="1.0" encoding="utf-8"?> <players timestamp="1536505850"> <player id="0518" name="Eagles, Philadelphia" position="Def" team="PHI" /> <player id="10271" name="Jones, Julio" position="WR" team="

我有一个输入字段,其中包含以下文本:

<?xml version="1.0" encoding="utf-8"?>
<players timestamp="1536505850">
  <player id="0518" name="Eagles, Philadelphia" position="Def" team="PHI" />
  <player id="10271" name="Jones, Julio" position="WR" team="ATL" />
  <player id="12154" name="Ajayi, Jay" position="RB" team="PHI" />
</players>
当我称之为:

xmlDoc.getElementsByTagName("player")[0].childNodes[0].nodeValue;
我得到这个错误:

未捕获的TypeError:无法读取1:41处未定义的属性“childNodes”

我做错了什么?

播放器元素没有子节点。您需要缩短从中产生错误的行

xmlDoc.getElementsByTagName("player")[0].childNodes[0].nodeValue;

不过,最好知道您试图访问的是什么,因为上面的语句将计算为
null

var outputField=document.getElementById('output');
var parser=新的DOMParser();
var xmlDoc=parser.parseFromString(outputField.value,“text/xml”);
log(xmlDoc.getElementsByTagName(“player”)[0].nodeValue)


如何访问特定值,例如第一个玩家的名字?我以为执行
console.log(xmlDoc.getElementsByTagName(“player”)[0]
将返回第一个播放器的所有值。@不,
xmlDoc.getElementsByTagName(“player”)[0]
将返回文档中标记名为“player”的第一个元素。您正在查找
element.getAttribute(名称:string)
。我更新了答案以获取第一个“player”元素的name属性。
xmlDoc.getElementsByTagName("player")[0].childNodes[0].nodeValue;
xmlDoc.getElementsByTagName("player")[0].nodeValue;