如何使用javascript将新属性动态插入xml标记?
我有一些xml,如下所示:如何使用javascript将新属性动态插入xml标记?,javascript,xml,setattribute,Javascript,Xml,Setattribute,我有一些xml,如下所示: <dict> <key>Track ID</key> <integer>4896</integer> <key>Name</key> <string>Let 'cha Boy Go (DIRTY) F/B.o.B</string> <key>Artist</key&
<dict>
<key>Track ID</key>
<integer>4896</integer>
<key>Name</key>
<string>Let 'cha Boy Go (DIRTY) F/B.o.B</string>
<key>Artist</key>
<string>4-Ize</string>
<key>Grouping</key>
<string>www.2dopeboyz.com</string>
<key>Genre</key>
<string>Hip-Hop</string>
<key>Kind</key>
<string>MPEG audio file</string>
<key>Size</key>
<integer>5837048</integer>
<key>Total Time</key>
<integer>243121</integer>
<key>Year</key>
<integer>2010</integer>
<key>BPM</key>
<integer>80</integer>
<key>Date Modified</key>
<date>2010-09-05T05:51:23Z</date>
<key>Date Added</key>
<date>2010-09-04T15:37:43Z</date>
<key>Bit Rate</key>
<integer>192</integer>
<key>Sample Rate</key>
<integer>44100</integer>
<key>Comments</key>
<string>80.3</string>
<key>Normalization</key>
<integer>7646</integer>
<key>Persistent ID</key>
<string>D9FAAD3E0203FA18</string>
<key>Track Type</key>
<string>File</string>
<key>Location</key>
</dict>
轨道ID
4896
名称
让你的孩子去(脏的)离岸价
艺术家
4-Ize
分组
www.2dopeboyz.com
体裁
嘻哈
友善的
MPEG音频文件
大小
5837048
总时间
243121
年
2010
BPM
80
修改日期
2010-09-05T05:51:23Z
添加日期
2010-09-04T15:37:43Z
比特率
192
采样率
44100
评论
80.3
规范化
7646
持久ID
D9FAAD3E0203FA18
轨道类型
文件
位置
如何编写JavaScript在某些标记上插入属性?您可以使用
XmlDOM
加载xml,使用XPath查找元素,然后使用DOM操作修改它:
var xpath = "/dict/key[. = 'Name']";
var element = null;
// IE:
if (ie)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML("<dict><key>Track ID</key><integer>4896</integer><key>Name</key><string>Let 'cha Boy Go (DIRTY) F/B.o.B</string></dict>");
// Find the element using xpath.
var values = xmlDoc.selectNodes(xpath);
element = values[0];
}
// Others:
else
{
parser = new DOMParser();
xmlDoc = parser.parseFromString("<dict><key>Track ID</key><integer>4896</integer><key>Name</key><string>Let 'cha Boy Go (DIRTY) F/B.o.B</string></dict>", "text/xml");
// Find the element using xpath.
var values = xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
element = values.iterateNext();
}
// Change/add the id of the selected element.
element.setAttribute("id", "aga");
var xpath=“/dict/key[.='Name']”;
var元素=null;
//即:
如果(即)
{
xmlDoc=新的ActiveXObject(“Microsoft.XMLDOM”);
xmlDoc.async=“false”;
loadXML(“Track ID4896NameLet'cha Boy Go(DIRTY)F/B.o.B”);
//使用xpath查找元素。
var values=xmlDoc.selectNodes(xpath);
元素=值[0];
}
//其他:
其他的
{
parser=新的DOMParser();
xmlDoc=parser.parseFromString(“Track ID4896NameLet'cha Boy Go(DIRTY)F/B.o.B”,“text/xml”);
//使用xpath查找元素。
var values=xmlDoc.evaluate(xpath,xmlDoc,null,XPathResult.ANY_TYPE,null);
元素=值。iterateNext();
}
//更改/添加所选元素的id。
setAttribute(“id”、“aga”);
这里的范围是什么?在哪里以及如何读取XML?请查看。它包含设置属性的方法。