1

我使用此代码从 XML 文件中获取页面上的标题。现在,我想显示同样存在于同一个 XML 文件中的相应标题的描述。我怎么做?

        var queryObj = new Object();
        var querystring = location.search.replace('?', '');
        var vars = querystring.split("&");
        for (var i = 0; i < vars.length; i++) 
        {
            var pair = vars[i].split('=');
            var key = pair[0];
            var value = pair[1]; 
            var value = decodeURI(value);
            queryObj[key] = value;

        }

        if(queryObj["activity"] != "" && queryObj["phase"] != "")
        {
            $("#TaskTitle").html(queryObj['phase']+": "+queryObj['activity']);
        }
4

2 回答 2

3

考虑我有一个这样的 XML:

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book> ..so on
</catalog>

我将它存储在一个字符串中,然后运行parseXML()它,我将它推入一个像这样的变量:

var xmlDoc= $.parseXML(myXmlString)

我现在可以将此xmlDoc变量用作 DOM 对象并遍历它,如果需要,将其$()作为参数传递给它。

$(xmlDoc)

现在,您可以阅读等find()closest()了解如何在 jQuery 中遍历。

例如,如果我想获取XML 开发人员指南一书的作者,该书位于<book>id 的部分中#bk101,我会这样做:

$(xmlDoc).find("#bk101").find("author") 

             //OR

$(xmlDoc).find("#bk101 author") 

             //OR

$("#bk101", xmlDoc).find("author")

而已。这是一个演示:http: //jsfiddle.net/hungerpain/N3mYa/

于 2013-06-17T14:15:16.040 回答
0

尝试使用jQuery.parseXML(),它将字符串解析为 XML 文档。

于 2013-06-17T13:57:02.250 回答