以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』  (http://bbs.xml.org.cn/list.asp?boardid=22)
----  又有几个不明白的……  (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=59132)


--  作者:娜娜
--  发布时间:2/25/2008 3:29:00 PM

--  又有几个不明白的……
Yahoo_Search.readXML = function (xmlDoc) {
  try {
    var retVal = new Array();
    var resultSet = xmlDoc.getElementsByTagName("ResultSet")[0];                                                              
    var totalResultsAvailable = parseInt(resultSet.getAttribute("totalResultsAvailable"));  
    var totalResultsReturned = parseInt(resultSet.getAttribute("totalResultsReturned"));                                      
    var firstResultPosition = parseInt(resultSet.getAttribute("firstResultPosition"));                                        
    var start = firstResultPosition;                                                                                          
    var end = firstResultPosition + totalResultsReturned - 1;                                                                 
                                                                                                                              
    var results = xmlDoc.getElementsByTagName("Result");   现在results中是什么?
    for (var i = 0; i < results.length; i++) {                                                                                
      var result = results[i];                                                                                                  
      var title = result.getElementsByTagName('Title')[0].firstChild.nodeValue;    “firstChild.nodeValue”是“title”的第一个子元素的值的意思吗?好像不对,原文中“title”没有子元素了。
      var summary = ''; 这里给他赋空值是什么意思?
      if (result.getElementsByTagName('Summary')[0].firstChild) {
        summary = result.getElementsByTagName('Summary')[0].firstChild.nodeValue;
      }
      var clickUrl = result.getElementsByTagName('ClickUrl')[0].firstChild.nodeValue;
      var url = result.getElementsByTagName('Url')[0].firstChild.nodeValue;
      retVal[i] = { I: start + i, Title: title, Summary: summary, ClickUrl: clickUrl, Url: url };
    }

    return retVal;
  } catch(exception) {
    alert('Exception occurred while reading XML (i=' + i + '; start=' + start + ';end=' + end + '): ' + exception);
  }
}


--  作者:孤独
--  发布时间:2/28/2008 5:37:00 PM

--  
getElementsByTagName,返回一个节点名都为title的节点
[0]返回集合中第一个节点
.firstChild返回该节点的第一个子节点
.nodeValue返回值
看着这些就吐。。。
你要写AJAX推荐用框架,我喜欢JQuery,当然EXT似乎也不错。
--  作者:娜娜
--  发布时间:2/28/2008 5:53:00 PM

--  
哦,知道了。谢谢……
那这句是什么意思啊?
var summary = ''; 这里给他赋空值是什么意思?

--  作者:孤独
--  发布时间:2/28/2008 6:05:00 PM

--  
var summary = ''; 这里给他赋空值是什么意思?
我不知道JSON能不能空值啊,也许只是想让summary的类型是string吧
--  作者:娜娜
--  发布时间:2/28/2008 6:54:00 PM

--  
哦。
还是看不太懂这个xml的解析,再看看吧。
谢谢!
--  作者:孤独
--  发布时间:2/28/2008 6:58:00 PM

--  
就是readXML是个函数,通过一个参数得到XMLDOM,然后解析他最后返回一个JSON。。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms