1
 <Analysis id="1" name="Agricultural Resources" >
    <MapObjects>
      <MapObject Instance="mobject_2" name_area="Ukraine">
        <Contact>
          <Name>Testing</Name>
      <Tell>012312</Tell>
    </Contact>
      </MapObjects>
  </Analysis>

这是 XML ..我需要编写一个构造函数和一个调用函数的适配器。我需要用分析填充下拉列表和一个带有和细节的 HTML ..

 function getData() {
        var d = new Date();
        var tt = d.getMilliseconds();
        durl = 'data.xml?tt' + tt;
        $.ajax({
            type: "GET",
            url: durl,
            dataType: "xml",
            success: parseXml
        });
    }

我写这个是为了提取 xml ..我需要更进一步。

4

1 回答 1

0

你应该从修复你的 XML 开始,你<MapObject>没有关闭:

<Analysis id="1" name="Agricultural Resources">
    <MapObjects>
        <MapObject Instance="mobject_2" name_area="Ukraine">
            <Contact>
                <Name>Testing</Name>
                <Tell>012312</Tell>
            </Contact>
        </MapObject>
    </MapObjects>
</Analysis>

然后您可以在parseXml函数中查询 XML 以提取您感兴趣的值。例如,为了提取NameandTell节点,您可以首先遍历所有 MapObject 节点并检索相应的值:

function parseXml(xml) {
    $(xml).find('MapObject').each(function() {
        var nameArea = $(this).attr('name_area');
        var name = $(this).find('Name').text();
        var phone = $(this).find('Tell').text();
        alert('name_area: ' + nameArea  + ', name: ' + name + ', telephone: ' + phone);    
    });
}

另外,我建议您使用以下cache: false设置,而不是使用一些数据时间来破坏缓存:

function getData() {
    $.ajax({
        url: 'data.xml',
        type: 'GET',
        cache: false,
        dataType: 'xml',
        success: parseXml
    });
}
于 2013-02-17T14:08:34.850 回答