我需要能够使用JavaScript解析XML。XML将在变量中。我宁愿不使用jQuery或其他框架。
我已经看过了,XML> jQuery阅读。
从这个问题的20分钟前的最后一个问题中longitude-to-address),我猜测您正在尝试解析(读取和转换)通过使用GeoNames的FindNearestAddress找到的XML。
如果您的XML在名为的字符串变量中,txt
并且看起来像这样:
<address>
<street>Roble Ave</street>
<mtfcc>S1400</mtfcc>
<streetNumber>649</streetNumber>
<lat>37.45127</lat>
<lng>-122.18032</lng>
<distance>0.04</distance>
<postalcode>94025</postalcode>
<placename>Menlo Park</placename>
<adminCode2>081</adminCode2>
<adminName2>San Mateo</adminName2>
<adminCode1>CA</adminCode1>
<adminName1>California</adminName1>
<countryCode>US</countryCode>
</address>
然后,您可以像这样用Javascript DOM解析XML:
if (window.DOMParser)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(txt, "text/xml");
}
else // Internet Explorer
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(txt);
}
并从这样的节点获取特定的值:
//Gets house address number
xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue;
//Gets Street name
xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue;
//Gets Postal Code
xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue;
为了回应@gaugeinvariante对带命名空间前缀的xml的担忧。如果您需要使用命名空间前缀来解析xml,则所有内容应该几乎相同:
注意:这仅在支持xml名称空间前缀的浏览器(例如Microsoft Edge)中有效
// XML with namespace prefixes 's', 'sn', and 'p' in a variable called txt
txt = `
<address xmlns:p='example.com/postal' xmlns:s='example.com/street' xmlns:sn='example.com/streetNum'>
<s:street>Roble Ave</s:street>
<sn:streetNumber>649</sn:streetNumber>
<p:postalcode>94025</p:postalcode>
</address>`;
//Everything else the same
if (window.DOMParser)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(txt, "text/xml");
}
else // Internet Explorer
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(txt);
}
//The prefix should not be included when you request the xml namespace
//Gets "streetNumber" (note there is no prefix of "sn"
console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue);
//Gets Street name
console.log(xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue);
//Gets Postal Code
console.log(xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue);
问题内容: 在页面中,我想选择一个变量的值。以下是页面的摘要。 我的目的是使用来从此页面读取变量的值。有可能吗?如果是,那怎么办? 问题答案: 由于jsoup不是javascript库,因此有两种方法可以解决此问题: A.使用JavaScript库 优点: 全面的Javascript支持 缺点: 附加的天秤/依赖项 B.使用Jsoup +手动解析 优点: 无需额外的库 足以完成简单的任务 缺点:
问题内容: 我需要解析RSS feed(XML版本2.0)并在HTML页面中显示已解析的详细信息。 问题答案: 解析提要 使用jQuery的jFeed (不建议这样做,请参阅其他选项。) 借助jQuery的内置XML支持 使用jQuery和[Google AJAX Feed API](https://developers.google.com/feed/) 但这意味着您依赖它们在线和可访问。 建筑
我正在使用以下命令解析包含HTML标记和javascript标记的HTML字符串 问题在于 Javascript 元素只包含在一行中。 另外,我已经尝试过 这适用于Javascript…但是超文本标记语言元素已经包含在没有结束标记的元素中。例如: 已被解析为 当我运行我的应用程序时,它不起作用。 我该如何解决这个问题?有没有办法使用JSOUP一起解析HTML和脚本? 注意:我刚刚在 JSOUP g
主要内容:什么是 JSON,在 JavaScript 中解析 JSON 数据,解析嵌套的 JSON 数据,将数据转换为 JSONJSON 全称为“JavaScript Object Notation”,是当前最流行的一种轻量级的数据交换格式,用来存储和传输数据,通常服务器端与客户端在进行交互时就是使用 JSON 格式的数据。 什么是 JSON JSON 是从 JavaScript 脚本中演变而来的,并且使用 JavaScript 中的语法来描述数据。与 XML 一样,JSON 也是一种基于文本的
本文向大家介绍JavaScript 作用域链解析,包括了JavaScript 作用域链解析的使用技巧和注意事项,需要的朋友参考一下 JavaScript中有Scope(作用域),Scope chain(作用域链),Execute context(执行上下文),Active Object (活动对象),Dynamic Scope(动态作用域),Closure(闭包)这些概念,要理解这些概念,我们从静
我正在使用Coingecko API。但我就是无法解析数据。下面是示例数据。解析我要做的每个块。 https://api.coingecko.com/api/v3/exchanges 我使用的示例代码: null null