如何在javascript中解析xml字符串?(不是客户端,与浏览器相关)
How to parse an xml string in javascript? (not client-side, browser-related)
我想知道是否有人可以指出我一个核心(不是客户端)JavaScript解决方案来解析xml字符串。例如,将其转换为我可以从中提取属性的对象。甚至是一个数组。
我已经搜索了高低,我看到的所有解决方案都是利用特定浏览器 DOM 的客户端解决方案。请注意,我正在用JavaScript编程,但这不是一个与DOM相关的问题。这是服务器端计算。
例如,我有这个字符串:
<IndustryTerm count="2" relevance="0.553">food system</IndustryTerm><Person count="2" relevance="0.586">Alexandra Spieldoch</Person><Event count="1">Environmental Issue</Event><IndustryTerm count="1" relevance="0.154">rural finance</IndustryTerm><IndustryTerm count="1" relevance="0.335">food security</IndustryTerm><IndustryTerm count="1" relevance="0.280">e-consultation</IndustryTerm><IndustryTerm count="1" relevance="0.154">high-level food security dialogues</IndustryTerm><IndustryTerm count="1" relevance="0.154">food markets</IndustryTerm><Position count="1" relevance="0.335">representative</Position><SocialTags><SocialTag importance="2">Sociology<originalValue>Sociology</originalValue></SocialTag><SocialTag importance="2">Food security<originalValue>Food security</originalValue></SocialTag><SocialTag importance="1">Food politics<originalValue>Food politics</originalValue></SocialTag><SocialTag importance="1">Gender<originalValue>Gender</originalValue></SocialTag><SocialTag importance="1">Biology<originalValue>Biology</originalValue></SocialTag></SocialTags>
我的目标是找到所有相关性和重要性值,以及标签之间的关联值。更具体地说,在这种情况下:
<IndustryTerm count="1" relevance="0.154">food markets</IndustryTerm>
我想知道标签名称(行业术语)、相关性 (0.154) 以及打开和关闭标签(食品市场)之间的值。
我一直在摆弄正则表达式,但还没有能够"击中要害",只是想知道那里是否有东西。
同样,这与客户端JavaScript或浏览器无关,但确实需要在标准的核心JavaScript中。
道格
核心Javascript内置了XML方法,这是你要找的吗?
https://developer.mozilla.org/En/E4X/Processing_XML_with_E4X
var person = <person>
<name>Bob Smith</name>
<likes>
<os>Linux</os>
<browser>Firefox</browser>
<language>JavaScript</language>
<language>Python</language>
</likes>
</person>;
alert(person.name); // Bob Smith
alert(person['name']); // Bob Smith
alert(person.likes.browser); // Firefox
alert(person['likes'].browser); // Firefox
该链接包含使用列表、属性等的示例。
您可以使用 SpiderMonkey 支持的替代语法来解析 XML。我从 Firefox 每晚构建页面中获取了一份 SpiderMonkey JavaScript Shell,并从西伯利亚的例子中窃取,这行得通:
js> options('allow_xml');
""
js> var person = new XML("<person><name>Bob Smith</name><likes><os>Linux</os><browser>Firefox</browser><language>JavaScript</language><language>Python</language></likes></person>");
js> person.name;
<name>Bob Smith</name>
js> person.name.text()
Bob Smith
js> person.likes.browser.text();
Firefox
- 删除客户端浏览器上不需要的内容
- AngularJS这样的开源Javascript是如何在客户端浏览器上运行的
- 在客户端/浏览器端存储照片(不是照片的链接)
- JS文件未在客户端浏览器上更新
- sails 客户端(浏览器)如何侦听从不同端口发出(爆破)的套接字消息
- php 服务器端计时器 独立于客户端浏览器
- 如何在客户端浏览器中执行类似SQL的查询
- 强制刷新客户端浏览器
- 如何从客户端浏览器中的内容生成和提示保存文件
- 如何在客户端(浏览器/CLI等)启用Javascript文件(如jQuery)和CSS文件的缓存
- 字节图像未从客户端浏览器保存在数据库中
- HTTPS协议的前端(客户端浏览器)是否需要密码加密
- NowJS-客户端/浏览器通信(不联系“所有人”)
- 在服务器上推送新版本后刷新客户端浏览器窗口
- 在客户端浏览器中滚动窗口
- 迫使客户端浏览器重新下载我们的asp.net网络应用程序的优雅方式'.css和.js文件(不完全禁用缓存)
- 如何在客户端浏览器上呈现完整网页的副本后立即在服务器端存储该副本
- 如何调试客户端浏览器/HTML结构的性能问题
- 如何在jQuery.post()之后将文件从Java发送回客户端浏览器
- 使用wcf从服务器获取文件并在客户端浏览器下载