如何使用JavaScript解析附加的XML代码?

时间:2014-05-09 17:52:04

标签: javascript xml

我需要从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。

2 个答案:

答案 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);

DEMO:http://jsbin.com/soxobuba/2/edit?js,console

答案 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)


  });

小提琴http://jsfiddle.net/abdennour/MUws7/