我现在需要从XML中的值列表中获取一些随机值。让我清楚地解释一下。把它当作我的XML。
<data>
<value>
<name>a</name>
<age>1</age>
</value>
<value>
<name>b</name>
<age>2</age>
</value>
<value>
<name>c</name>
<age>3</age>
</value>
<value>
<name>d</name>
<age>4</age>
</value>
<value>
<name>e</name>
<age>5</age>
</value>
</data>
我必须以随机方式动态解析3个值。即,如果a,b,c在下次加载页面时显示一次,则必须以随机顺序显示d,b,e或任何其他。我该怎么处理它。
答案 0 :(得分:0)
这是一个将XML字符串转换为文档的函数。然后,您可以在文档上使用DOM方法:
var stringToXMLDoc = (function(global) {
// W3C DOMParser support
if (global.DOMParser) {
return function (text) {
var parser = new global.DOMParser();
return parser.parseFromString(text,"application/xml");
}
// MS ActiveXObject support
} else {
return function (text) {
var xmlDoc;
// Can't assume support and can't test, so try..catch
try {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(text);
} catch (e){}
return xmlDoc;
}
}
}(this));
示例:
var xml = '<books>' +
'<book title="foo"/>' +
'<book title="bar"/>' +
'<book title="baz"/>' +
'</books>';
var doc = stringToXMLDoc(xml);
alert(
doc.getElementsByTagName('book')[2].getAttribute('title')
);
您应该可以使用值节点执行类似的操作。