根据元素的值从 XML 文件中提取文本
Extracting text from an XML file based on an element's value?
我有一个简单的XML文件,看起来像这样:
<?xml version="1.0" ?>
<devices>
<device>
<name>Inside</name>
<value>67.662498</value>
</device>
<device>
<name>Outside</name>
<value>69.124992</value>
</device>
</devices>
我想使用 JavaScript 提取"外部"的温度(值)。 这是我到目前为止所拥有的:
<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","data.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("name").innerHTML=
xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;
document.getElementById("value").innerHTML=
xmlDoc.getElementsByTagName("value")[0].childNodes[0].nodeValue;
</script>
当我在 HTML 文件中运行它时,它会提取名称"内部"及其温度值,而不是外部温度值。 我只是希望能够运行它并让"69.124992"显示为值。 我需要添加什么来解析此文件,以便它只查找名称为"Outside"的设备?
您当前的实现只是获取名称和值的第一次出现并显示值,而不是为什么不直接循环
var names = xml.getElementsByTagName('name');
for (var iDx = 0; iDx < names.length; iDx++) {
if (names[iDx].childNodes[0].nodeValue == 'Outside') {
jQuery('#name').text(names[iDx].childNodes[0].nodeValue);
jQuery('#value').text(xml.getElementsByTagName('value')[iDx].childNodes[0].nodeValue);
break;
}
}
JSFiddle
相关文章:
- 使用gulp-angular gettext从JS文件中提取字符串不起作用
- 可以't从xml文件中提取数据
- 我想批量上传zip文件中的简历,并提取html5和angular中每个简历的内容
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 如何使用谷歌应用程序脚本从电子邮件中提取内联文件/图像
- 从CSV文件中提取JavaScript代码
- 使用 gulp 将打字稿导出提取到 json 文件
- 从导入的 HTML/JS 文件中提取变量
- 我正在尝试从 xhtml 文件中动态提取所有
元素,并使用 javascript 将它们放入选择列表中
- 在使用java使用dropbox选择器从dropbox中提取文件后,如何将文件存储在服务器中
- 使用ng repeat从两个不同的JSON文件中提取数据
- 使用Angularjs提取2个不同的JSON文件
- 从html文件中的js中提取链接
- 使用javascript[ClientSide]下载并提取gz文件
- imacros提取两部分数据+连接常量保存到文件javascript
- 从缩小的文件中提取单个 javascript 文件代码
- 使用JavaScript(客户端)提取受密码保护的ZIP文件
- 如何在一个函数上使用javascript从excel文件提取多个单元格.(如果可能的话)
- Javascript包含.js文件提取代码
- 上传前客户端zip文件提取的选项