2007-01-26
JavaScript 解析 XML 时如何通过名称直接取到值?
关键字: JavaScript XMLJavaScript 解析 XML 时如何通过名称直接取到值?
xml 代码
- <?xml version="1.0" encoding="UTF-8" ?>
- <root>
- <Attribute name="aa" value="0" />
- <Attribute name="bb" value="1" />
- <Attribute name="cc" value="2" />
- ...
- ...
- <Operation name="initAllCounter" return="boolean"/>
- ...
- ...
- </root>
同级的Attribute,有没有办法通过类似于 getXXXByName("aa") 得到0, getXXXByName("bb") 得到1呢?
而不是通过
java 代码
- var attributes = response.getElementsByTagName('Attribute');
- for(var i = 0;i < attributes.length;i++)
- {
- name = attributes[i].getAttribute("name");
- // 然后一个个判断是否是aa,
- if(name == "aa")
- {
- // 然后再 通过 attributes[i].getAttribute("value"); 取得值
- value = attributes[i].getAttribute("value");
- }
- // ...
- }
有何办法?我现在先if判断处理之,再看有没有好方法?
评论
ppeter
2007-01-31
knight 写道
这样 ?
node.selectSingleNode("//root/Attribute[@name='aa']").attributes.getNamedItem("value").nodeValue;
汗。。
node.selectSingleNode("//root/Attribute[@name='aa']").attributes.getNamedItem("value").nodeValue;
汗。。
IE下可以这么写:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<xml id="myData">
<root>
<Attribute name="aa" value="0" />
<Attribute name="bb" value="1" />
<Attribute name="cc" value="2" />
<Operation name="initAllCounter" return="boolean"/>
</root>
</xml>
</HEAD>
<script language="javascript">
function getValueFromNode(nodeName , conditionName , attrName) {
var node = myData.selectSingleNode("/root/" + nodeName + "[@name='"+ conditionName +"']");
if (null == node) {
return;
}
alert(node.getAttribute(attrName));
}
function getNodes(nodeName , attrName) {
var nodes = myData.selectNodes("//" + nodeName);
for (var i = 0; i < nodes.length; i++ )
{
alert(nodes[i].getAttribute(attrName));
}
}
</script>
<BODY>
<input type="button" value="获取nodeName=Attribute的value" onclick="getNodes('Attribute' , 'value')">
<input type="button" value="获取name='aa'的value" onclick="getValueFromNode('Attribute' , 'aa' , 'value')">
<input type="button" value="获取name='bb'的value" onclick="getValueFromNode('Attribute' , 'bb' , 'value')">
<input type="button" value="获取name='cc'的value" onclick="getValueFromNode('Attribute' , 'cc' , 'value')">
<input type="button" value="获取name='initAllCounter'的value" onclick="getValueFromNode('Operation' , 'initAllCounter' , 'return')">
</BODY>
</HTML>
knight
2007-01-30
这样 ?
node.selectSingleNode("//root/Attribute[@name='aa']").attributes.getNamedItem("value").nodeValue;
汗。。
node.selectSingleNode("//root/Attribute[@name='aa']").attributes.getNamedItem("value").nodeValue;
汗。。
garnoopy
2007-01-29
if IE, try:
var jsXML = new ActiveXObject("MSXML2.DOMDocument.4.0");
jsXML.async = false;
jsXML.load("my.xml");
document.getElementById("myDivId").value = jsXML.xml;
var jsXML = new ActiveXObject("MSXML2.DOMDocument.4.0");
jsXML.async = false;
jsXML.load("my.xml");
document.getElementById("myDivId").value = jsXML.xml;
Ivan Li
2007-01-29
这里有xpath的例子
http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
这里有介绍
http://ivanl.javaeye.com/blog/39826
http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
这里有介绍
http://ivanl.javaeye.com/blog/39826
Ivan Li
2007-01-29
xpath 是不是应该这么写?
//root/Attribute[@name="aa"]
//root/Attribute[@name="aa"]
YuLimin
2007-01-26
不要去想当然好不好,如果存在这样的情况,你怎么办,大家都想有个好的处理方式这是肯定的:)
找了些XPath的内容,在研究学习中。。。
http://developer.mozilla.org/en/docs/Introduction_to_using_XPath_in_JavaScript
http://glazkov.com/archive/2004/04/06/168.aspx
找了些XPath的内容,在研究学习中。。。
http://developer.mozilla.org/en/docs/Introduction_to_using_XPath_in_JavaScript
http://glazkov.com/archive/2004/04/06/168.aspx
pi1ot
2007-01-26
这样的就应该设计成
<aa>0</aa> <bb>1</bb> <cc>2</cc>
- 浏览: 594741 次
- 性别:

- 来自: 福建莆田@广州

- 详细资料
搜索本博客
我的相册
力拔千斤
共 146 张
共 146 张
最近加入圈子
链接
- 超越黎明
- CJSDN
- CSDN
- JavaWorld@TW
- JavaEye
- Spring中文论坛
- Matrix
- BEA dev2dev
- Agile Tao Forum
- Flickr
- developerWorks
- TheServerSide
- Sun Java Forum
- JavaRanch
- 满江红开源
- del.icio.us
- Sun中国技术社区
- 希赛网中国软考
- AJAX Design Patterns
- CSS: The Missing Manual
- Java Persistence with Hibernate
- Script in Java
- Building Spring 2 Enterprise Applications
- Tuscany中文社区
- 我爱人开的购物店,欢迎光临
- Beginning Spring 2: From Novice to Professional
- Effective Java Second Edition
最新评论
-
惊人大秘密:中国人必看! ...
怎么没人评价啊~帮你顶下!
-- by ╱/罒呍唲 -
记08.07.19 Beijing OpenP ...
呵呵 是"空军总司令呀". 介绍时在我后面:P 我是"杀手":P
-- by woods -
记08.07.19 Beijing OpenP ...
@dearwolf哈,小刀同学不厚道呀,。。。原来带o6z去制作烟囱去了。。。不 ...
-- by YuLimin -
记08.07.19 Beijing OpenP ...
引用dearwolf 18 小时前恩……o6z当时跑到外面去吸烟了,所以轮到他的 ...
-- by ozzzzzz -
记08.07.19 Beijing OpenP ...
- - 嘿嘿。那香蕉确实很赞! 不过我怀疑是ThoughtWorks员工的。 ...
-- by sg552






评论排行榜