Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在XML文件中使用AJAX并解析值?_Javascript_Jquery_Xml_Ajax - Fatal编程技术网

Javascript 如何在XML文件中使用AJAX并解析值?

Javascript 如何在XML文件中使用AJAX并解析值?,javascript,jquery,xml,ajax,Javascript,Jquery,Xml,Ajax,我有以下AJAX和XML代码。您可以看到我试图设置的值。我只是不知道如何解析XML文件来设置这些变量 AJAX代码: $.ajax({ url: 'PATH TO XML', dataType: ($.browser.msie) ? "text" : "xml", success: function(data) { var context = default;

我有以下AJAX和XML代码。您可以看到我试图设置的值。我只是不知道如何解析XML文件来设置这些变量

AJAX代码:

$.ajax({
          url: 'PATH TO XML',
          dataType: ($.browser.msie) ? "text" : "xml",
          success: function(data) {
                        var context = default;
                        if ( ... ) {
                           context = not-default;
                        }
                    }
<messages>
 <message id="id1" context="default">
      <content>

            <p>Default HTML</p>


      </content>
 </message>
 <message id="id2" context="not-default">
      <content>

        <p>Not Default HTML</p>

      </content>
</message>
</messages>
XML代码:

$.ajax({
          url: 'PATH TO XML',
          dataType: ($.browser.msie) ? "text" : "xml",
          success: function(data) {
                        var context = default;
                        if ( ... ) {
                           context = not-default;
                        }
                    }
<messages>
 <message id="id1" context="default">
      <content>

            <p>Default HTML</p>


      </content>
 </message>
 <message id="id2" context="not-default">
      <content>

        <p>Not Default HTML</p>

      </content>
</message>
</messages>

默认HTML

非默认HTML

非常简单:

$(yourXmlFileContents);
从这里,只需使用方法选择元素:

$(yourXmlFileContents).find('foo[context=bar]');
注意:如果以字符串形式提供文档内容,jQuery不会将其解释为XML,而是解释为HTML。

:


如果将
dataType
设置为“xml”,则提供给
success
函数的值将是一个xml文档对象,并将其传递给主jQuery函数将执行您想要的操作。如果将XML作为字符串,则需要将其传递给jQuery的
parseXML()
方法(1.5版中新增):

var xmlStr=“bar”;
var xmlDoc=$.parseXML(xmlStr);
$xml=$(xmlDoc);
警报($xml.find(“foo”).text());//警报“栏”

非常感谢!我不知道,一个。发现是所有需要的!谢谢你给我的信仰做的榜样!!请注意,如果提供的值是字符串,jQuery的
$()
函数不会解析XML。它假定字符串是HTML,并将该字符串指定为HTML DOM元素的
innerHTML
属性,该属性通常不适用于XML。如果提供的值是XML文档,那么一切都很好。谢谢你的信息,@Tim。