繁体   English   中英

如何在JQuery中查找和替换xml节点值

[英]How to find and replace xml node value in JQuery

我需要使用JQuery在xml节点中查找和替换值的帮助,请提出以下建议,

var metaData ='<Control Type="Table" ID="4900a2a9-47d7-4d3b-9a35-fdd32b185730"></Control>
        <Control Type="TextBox"  ID="7a499af6-16c1-4fe8-9ea0-fe02e7eef886"></Control>';

在以上xml结构中,我想在JQuery中搜索ID =“ 4900a2a9-47d7-4d3b-9a35-fdd32b185730”并将其替换为ID =“ 91e3cbe6-8168-40be-bf26-ccdd6acb1e17”。 请提出建议。

以下是我尝试过的

var oldID = "4900a2a9-47d7-4d3b-9a35-fdd32b185730";
var newID = "91e3cbe6-8168-40be-bf26-ccdd6acb1e17";
metaData.replace(oldID, newID);

上面的代码不成功。

由于您在xml变量中只有字符串,因此请使用JS .replace()

xml.replace('4900a2a9-47d7-4d3b-9a35-fdd32b185730', '91e3cbe6-8168-40be-bf26-ccdd6acb1e17');

 var xml = '<Control Type="Table" ID="4900a2a9-47d7-4d3b-9a35-fdd32b185730"></Control><Control Type="TextBox" ID="7a499af6-16c1-4fe8-9ea0-fe02e7eef886"></Control>'; var result = xml.replace('4900a2a9-47d7-4d3b-9a35-fdd32b185730', '91e3cbe6-8168-40be-bf26-ccdd6acb1e17'); $("#from").text(xml); $("#result").text(result); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <b>Before:</b><br/> <div id='from'></div><br/> <b>After:</b><br/> <div id='result'></div> 

我不会替换字符串。

 var xml = '<Control Type="Table" ID="4900a2a9-47d7-4d3b-9a35-fdd32b185730"></Control><Control Type="TextBox" ID="7a499af6-16c1-4fe8-9ea0-fe02e7eef886"></Control>'; var doc = $.parseXML('<root>' + xml + '</root>'); var $root = $(doc); $root.find('[ID="4900a2a9-47d7-4d3b-9a35-fdd32b185730"]').attr('ID', 'x'); var newxml = xmlToString(doc); $('#result').text(newxml.substring(6, newxml.length - 7)) //borrowed from http://stackoverflow.com/questions/6507293/convert-xml-to-string-with-jquery function xmlToString(xmlData) { var xmlString; //IE if (window.ActiveXObject) { xmlString = xmlData.xml; } // code for Mozilla, Firefox, Opera, etc. else { xmlString = (new XMLSerializer()).serializeToString(xmlData); } return xmlString; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div id="result"></div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM