导航:首页 > 编程语言 > js解析xml某节点id

js解析xml某节点id

发布时间:2025-09-01 18:40:05

js如何解析请求返回的XML字符串

var xmlStr = '<root><people><name>张三</name><address>北京</address></people></root>';
var result = null;
eval('result=['+$(xmlStr).find('people').map(function(){
return '{'+$('*',this).map(function(){
return $(this).attr('tagName') + ':"' + $(this).text() + '"';
}).get().join(',') + '}';
}).get().join('],[')+']');
alert(result);
//result是一个数组,如果有多个people节点,则为:[{name:"张三",address="北京"},{name:"李四",address="上海"}]
不好意思偏题了,以下是你要的结果:
var result = $(xmlStr).find('people').children().map(function(){
return $(this).attr('tagName')+'='+$(this).text();
}).get().join();

上面的都是jquery的写法:
javascript的话:
用COM操作:
object xmlDoc = new ActiveObject('msxml2');
xmlDoc.loadXml(xmlStr);
var pNode = xmlDoc.selectSignNode('people');
var result = '';
for(var node in pNode.selectNodes('*')){
result+=(result.length>0?',':'') + node.nodeName+'='+node.innerText;
}
alert(reuslt);
或者用DOM操作:
<xml id='testXml' />
var result = '';
with(document.getElementById('testXml')){
innerHTML = xmlStr;
for(var child in children){
result += ',' + child.tagName + '=' + child.innerText;
}
if(result.length > 0){
result = result.substring(1);
}
}

⑵ 关于odoo中xml写的js怎么用

1、用childNodes属性,按顺序取实现过程:首先创建一个xml对象,然后载入xml文件,再根据待取节点父节点在xml文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。//pId待取节点父节点序号//cId待取节点序号functiongetXmlNodeValue(pId,cId){varxmlDoc=newActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.load("employeeInfo.xml");varnodes=xmlDoc.documentElement.childNodes[pId].childNodes[cId];returnnodes.childNodes[0].text;}调用方法:alert(getXmlNodeValue(1,2));2、用for循环来取实现过程:首先创建一个ie支持的xml对象,如果发生异常,是创建一个FireFox支持的空xml对象并返回空;然后载入xml文件,如要发生异常也返回空;最后,通过for循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。//nodeValue待取节点的所属节点值functiongetXmlNodeValueFor(nodeValue){varxmlDoc;try{//创建一个ie支持的XML文档对象xmlDoc=newActiveXObject("Microsoft.XMLDOM");}catch(e){try{//创建FireFox空的XML文档对象xmlDoc=document.implementation.createDocument("","",null);}catch(e){alert(e.message);return"";}}xmlDoc.async=false;try{xmlDoc.load("employeeInfo.xml");}catch(e){alert(e.message);return"";}varxd=xmlDoc.documentElement.childNodes;if(xd==null)return"";vartempValue;for(vari=0;i<xd.length;i++){if(xd[i].childNodes[0].childNodes[0].nodeValue==nodeValue)tempValue=xd[i].childNodes[2].childNodes[0].nodeValue;}returntempValue;}调用方法:alert(getXmlNodeValueFor("王佳琳"));

⑶ js动态获取id的问题

html规则要求ID名称不能相同,会冲突的。如果你要选择多个对象要用tag或者class。不要版使用权ID属性。常用的dom方法有:
getElementsByClassName
getElementsByTagName

getElementsByClassName有时候会失灵,所以,getElementsByTagName遍历所有的对象,然后对所有的对象class属性进行区别。
你也可以用jquery的选择器比如$(".class")来选择你要的对象。

⑷ js写入xml的实例

用JS操作XML,对客户端来说只有读取的权限如果需要对XML文件进行修改保存操作,就要用FSO<script type="text/javascript">
function go(){var thebook,root,theelem;
var xmldoc=new ActiveXObject("Msxml2.DOMDocument.4.0");
xmldoc.async=false;
xmldoc.load("C:\\test.xml");
root=xmldoc.documentElement;
// alert(xmldoc.xml);

thebook=xmldoc.createElement("book");
// thebook.setAttribute("id" "15");
theelem=xmldoc.createElement("name");
theelem.text="xinshu";
thebook.appendChild(theelem);

theelem=xmldoc.createElement("price");
theelem.text="20";
thebook.appendChild(theelem);

theelem=xmldoc.createElement("momo");
theelem.text="very good!";
thebook.appendChild(theelem);
root.appendChild(thebook);
// alert(xmldoc.xml);thebook=root.selectSingleNode("/books/book[name='xinshu']");
thebook.setAttribute("id","15");
// alert(xmldoc.xml);

thebook=root.selectSingleNode("/books/book[name='哈里波特']");
thebook.childNodes[1].text="20";
thebook.setAttribute("id","25");
// alert(root.xml);
thebook.parentNode.removeChild(thebook);
alert(xmldoc.xml);

var somebook=root.selectNodes("/books/book[price<10]");
// alert(somebook.xml);
somebook.removeAll();
alert(xmldoc.xml);
xmldoc.loadXML(xmldoc.xml);
xmldoc.save("C:\\test.xml"); //会提示权限不足..其实我在想 既然DOM给出了这个方法必然有它的用途,但是目前还没发现它在哪能用到 . 试过多个地方使用 都会出现权限问题 可能是JS本身的限制

// var fso, tf; //使用JSO必须安装个插件
// fso = new ActiveXObject("Scripting.FileSystemObject");
// 创建新文件
// tf = fso.CreateTextFile("c:\\testfile.xml", true);
// 填写数据,并增加换行符
// tf.WriteLine("Testing 1, 2, 3.") ;
// 增加3个空行
// tf.WriteBlankLines(3) ;
// 填写一行,不带换行符
// tf.Write (xmldoc.xml);
// 关闭文件
// tf.Close();
}

</script>其它参考:http://www.68design.net/Web-Guide/HTMLCSS/9335-1.html

阅读全文

与js解析xml某节点id相关的资料

热点内容
下面哪些属于plc常用编程语言 浏览:165
编程语言都有哪些算法 浏览:391
如何把文件夹里的备份给我 浏览:1
ps4光盘游戏更新文件100g 浏览:835
专业风水罗盘版本大全 浏览:168
app图标指向文件在哪个路径 浏览:110
老家编程哪个行业好 浏览:889
iphone4s应用程序删除 浏览:180
迅雷诊断工具在哪 浏览:360
苹果手机qq突然打不开 浏览:34
唱吧本地文件的储存路径 浏览:126
win10文件查杀怎么关闭 浏览:787
js解析xml某节点id 浏览:197
ps新建多个文件 浏览:761
网络电视一般有哪些app 浏览:324
win7家庭版局域网访问密码 浏览:808
数控模具牙收尾怎么编程 浏览:630
推荐wifi密码 浏览:532
百度地图历史版本大全 浏览:71
安卓图片拼接代码 浏览:939

友情链接