我需要从XML文件中读取数据。 这是XML文件中的数据。
<?xml version="1.0"?>
<application id="AndroidCoverFlow" name="AndroidCoverFlow" platform="general">
<attributes datatype="ref" value="{"coverflowConfig":{"spaceBetweenRowItems":5,"projectionAngle":90,"isCircular":true,"rowItemWidth":5,"rowItemRotationAngle":180}}" name="viewConfig" platform="general" buckettype="basic"/>
</application>
在指定的示例中,我想验证/读取coverflowconfig values.i.e spaceBetweenRowItems, projectionAngle projectionAngle。
答案 0 :(得分:1)
我希望这不是完全 XML,因为它无效。但是忘记了......假设 有效,你可以使用DOMParser
解析它。
var parser = new DOMParser,
xmlDom = parser.parseFromString(xml, 'text/xml');
var application = xmlDom.getElementById('AndroidCoverFlow'),
attributes = application.getElementsByTagName('attributes');
var value = attributes[0].attributes.getNamedItem('value').value,
jsonData = JSON.parse(value);
console.dir(jsonData);
答案 1 :(得分:0)
小提琴:http://jsfiddle.net/abdennour/MUws7/
注意:
它不是XML代码,您可以通过以下方式检查: http://www.w3schools.com/xml/xml_validator.asp
但是,如果它是XML代码,您可以使用jQuery等Javascript库,然后执行以下操作:
$(xml).find("attributes").each(function()
{
var myObject=$(this).attr("value")
$("#output").html(myObject);
myObject=myObject.replaceAll("'",'"')
alert(myObject)
coverflowConfig=$.parseJSON(myObject).coverflowConfig;
alert('coverflowConfig.projectionAngle='+coverflowConfig.projectionAngle)
});