javascript把特定XML响应解析成一个对象
来源:互联网 发布:美国网络瘫痪 dns 编辑:程序博客网 时间:2024/05/22 12:49
相比其他格式,XML极其冗长。每个单独的数据片段都依赖大量结构,所以有效数据的比例非常低。而且XML的语法有些模糊。当把一个数据结构转换成XML时,你应该把对象参数放到对象元素的属性中,还是放在独立的子元素中呢?你应该使用描述清晰的长标签名还是高效但难以辨认的短标签名呢?语法的解析过程同样含混,你必须提前知道XML响应的布局,然后才能弄清楚它的含义。
一般情况下,解析XML需要占用Javascript程序员一部分的精力。除了要提前知道详细结构之外,还必须确切地知道如何解析这个结构并费力地将它重组到Javascript对象中。这既非易事业不能自动完成。
例:
XML结构:
<?xml version="1.0" encoding="UTF-8" ?><users total="4"> <user id="1"> <username>alice</username> <realname>Alice Smith</realname> <email>alice@alicesmith.com</email> </user> <user id="2"> <username>bob</username> <realname>Bob Jones</realname> <email>bob@bobjones.com</email> </user> <user id="3"> <username id="3"> <username>carol</username> <realname>Carol Williams</realname> <email>Carol@carolwilliams.com</email> </user> <user id="4"> <username>dave</username> <realname>Dave Johnson</realname> <email>dave@davejohnson.com</email> </user></users>
Javascript结构:
function parseXML(responseXML){ var users = []; var userNodes = responseXML.getElementsByTagName('users'); var node,usernameNodes,usernameNode,username,realnameNodes,realnameNode,realname,emailNodes,emailNode,email; for(var i=0,len = userNodes.length;i<len;i++){ node = userNodes[i]; username = realname = email = ""; usernameNodes = node.getElementsByTagName('username'); if(usernameNodes && usernameNodes[0]){ usernameNode = usernameNodes[0]; username = (usernameNodes.firstChild)?usernameNodes.firstChild.nodeValue : ""; } realnameNodes = node.getElementsByTagName('realname'); if(realnameNodes && realnameNodes[0]){ realnameNode = realnameNodes[0]; username = (realnameNodes.firstChild)?usernameNodes.firstChild.nodeValue : ""; } emailNodes = node.getElementsByTagName('email'); if(emailNodes && emailNodes[0]){ emailNode = emailNodes[0]; email = (emailNodes.firstChild)?emailNodes.firstChild.nodeValue : ""; } user[i] = { id:node.getAttributte('id'); username:username; realname:realname; email:email; }; } return users;}
阅读全文
0 0
- javascript把特定XML响应解析成一个对象
- 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象
- 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象
- 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象
- 解析器把 XML 转换为 JavaScript 可存取的对象
- 把一个XML字符串转换为一个XML文档对象
- 把一个XML字符串转换为一个XML文档对象
- android XMl 解析神奇xstream 二: 把对象转换成xml
- 请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象
- 前台解析XML对象小例【ajax XHR(服务器响应)】
- android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件
- C#里,把一个对象的属性转成XML
- C#里把XML对象变成一个字串
- JavaScript写一个方法把URL解析成对象.html
- SAX方式解析XML文件的方法分析,并取特定字段生成对象
- 把list对象转换成xml字符串
- 把一个xml文档("note.xml")载入到xml解析器中
- javascript 把字符串转换成json对象
- UVA
- 关于JQuery animate()方法
- xutils
- centos7下elasticsearch安装以及elasticsearch的中文分词插件ik的安装步骤
- 随机数的产生
- javascript把特定XML响应解析成一个对象
- Java枚举7种常见用法
- 将myeclipse默认编码设置为UTF-8
- 安卓属性动画
- elasticsearch插件安装之--linux下安装及head插件
- VLOOKUP 公式学习
- 【贪心】51Nod 1241 特殊的排序
- java多线程之LockSupport及ReentrantLock
- 一文读懂无线充电技术(附方案选型分析)