Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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 无法在解析XML后获取属性_Javascript_Jquery_Xml - Fatal编程技术网

Javascript 无法在解析XML后获取属性

Javascript 无法在解析XML后获取属性,javascript,jquery,xml,Javascript,Jquery,Xml,我编写了这个简单的JQuery代码,以查找某些XML代码的属性: <html> <head> <meta charset='utf-8' /> <script type="text/javascript" src="js/jquery.min.js"></script> </head> <body> <script> var msg = '<utility value="346" cost="0

我编写了这个简单的JQuery代码,以查找某些XML代码的属性:

<html>
<head>
<meta charset='utf-8' />
<script type="text/javascript" src="js/jquery.min.js"></script>
</head>
<body>
<script>
var msg = '<utility value="346" cost="0" />';
alert(msg);
var xmlInput = $.parseXML(msg);
alert(xmlInput);
var xmlObject = $(xmlInput);
alert(xmlObject);
var tagname = xmlObject.nodeName;
alert("tagname="+tagname);
var value = xmlObject.attr("value");
alert("value="+tagname);
</script>
</body></html>

var msg='';
警报(msg);
var xmlInput=$.parseXML(msg);
警报(xmlInput);
变量xmlObject=$(xmlInput);
警报(xmlObject);
变量标记名=xmlObject.nodeName;
警报(“标记名=”+标记名);
var value=xmlObject.attr(“值”);
警报(“值=”+标记名);
但是,它不起作用:

标记名和值是“未定义的”,我在Firefox和Chrome上检查过


如何解决此问题?

您应该在
xmlObject
中搜索特定元素,因为XML以根元素“开始”

var tagname = xmlInput.firstChild.nodeName;
// or xmlObject.children().get(0).nodeName

var value = $("utility", xmlObject).attr("value");

两个问题。首先,您发布的代码的最后一个
警报
警报(“value=“+tagname
);`,无论如何都不会给你想要的。其次,需要从解析的XML jQuery集中检索元素:

var msg = '<utility value="346" cost="0" />';
alert(msg);
var xmlInput = $.parseXML(msg);
alert(xmlInput);
var xmlObject = $(xmlInput);
alert(xmlObject);
var utility = xmlObject.find("utility");
alert("utility="+utility);
var value = utility.attr("value");
alert("value="+value);​
var msg='';
警报(msg);
var xmlInput=$.parseXML(msg);
警报(xmlInput);
变量xmlObject=$(xmlInput);
警报(xmlObject);
var utility=xmlObject.find(“utility”);
警报(“实用程序=”+实用程序);
var值=效用属性(“值”);
警报(“值=”+值);​