導航:首頁 > 編程語言 > 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相關的資料

熱點內容
1年java轉大數據要多少時間 瀏覽:618
extjspanel圖片 瀏覽:967
新手第一次學編程要注意什麼 瀏覽:519
手機上TXT文件 瀏覽:282
20款皓影19寸輪轂什麼數據 瀏覽:688
魔獸世界單機版資料庫 瀏覽:52
java實現批量上傳文件 瀏覽:533
相機文件格式 瀏覽:724
2012希賽網路工程師視頻 瀏覽:199
不知道學編程干什麼用 瀏覽:794
什麼是et文件怎麼打開 瀏覽:202
給企業編網站需要什麼專業 瀏覽:95
2份表格數據一樣為什麼合計不同 瀏覽:211
家庭網路與工作網路哪個好 瀏覽:885
微信檢查源文件 瀏覽:505
java圖形界面實例代碼 瀏覽:89
高斯幾何優化輸出指定文件找不到 瀏覽:179
水果教程之做一首簡單歌曲 瀏覽:577
文件編輯後保存找不到了 瀏覽:276
8583銀聯java代碼 瀏覽:266

友情鏈接