I'm new to jQuery and would like to parse an XML document.

我能够使用默认名称空间解析常规XML,但可以使用以下XML:

<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
   <s:Schema id="RowsetSchema">
     <s:ElementType name="row" content="eltOnly" rs:CommandTimeout="30">
       <s:AttributeType name="ows_ID" rs:name="ID" rs:number="1">
        <s:datatype dt:type="i4" dt:maxLength="4" />
      </s:AttributeType>
       <s:AttributeType name="ows_DocIcon" rs:name="Type" rs:number="2">
        <s:datatype dt:type="string" dt:maxLength="512" />
      </s:AttributeType>
       <s:AttributeType name="ows_LinkTitle" rs:name="Title" rs:number="3">
        <s:datatype dt:type="string" dt:maxLength="512" />
      </s:AttributeType>
       <s:AttributeType name="ows_ServiceCategory" rs:name="Service Category" rs:number="4">
        <s:datatype dt:type="string" dt:maxLength="512" />
      </s:AttributeType>
    </s:ElementType>
  </s:Schema>
   <rs:data>
    <z:row ows_ID="2" ows_LinkTitle="Sample Data 1" />
    <z:row ows_ID="3" ows_LinkTitle="Sample Data 2" />
    <z:row ows_ID="4" ows_LinkTitle="Sample Data 3" />
  </rs:data>
</xml>

All I really want are the <z:row>.

到目前为止,我一直在使用:

$.get(xmlPath, {}, function(xml) {
    $("rs:data", xml).find("z:row").each(function(i) {
        alert("found zrow");
    });
}, "xml");

with really no luck. Any ideas?

推荐答案

我得到了它.

原来需要\\个才能转义冒号.

$.get(xmlPath, {}, function(xml) {
    $("rs\\:data", xml).find("z\\:row").each(function(i) {
        alert("found zrow");
    });
}, "xml");

As Rich pointed out:

更好的解决方案不需要转义,适用于所有"现代"浏览器:

.find("[nodeName=z:row]")

Jquery相关问答推荐

如何在不使用点击事件 bootstrap 程序模式的情况下使用弹出窗口 bootstrap 程序显示用户详细信息?

为什么我不能在 window.onload 事件的处理程序中将 $ jQuery 对象作为参数传递?

在学习 jQuery 之前学习 JavaScript 是个好主意吗?

在 jQuery 事件中控制this的值

使用 jQuery Validate 确认密码

ASP .NET MVC 在每个字段级别禁用客户端验证

jQuery Select 一个具有某个类的div,它没有另一个类

Twitter Bootstrap alert 可以淡入淡出吗?

判断元素是否为 div

在 JQuery .trigger 上传递参数

如何推迟内联 Javascript?

自动完成将值而不是标签应用于文本框

jQuery Select 器中前导冒号的目的是什么?

使用 jQuery 获取 div 的可见高度

如何使 jQuery Contains 不区分大小写,包括 jQuery 1.8+?

使用 jQuery 获取选中复选框的值

在未实现接口 FormData 的对象上调用附加

Uncaught TypeError: undefined is not a function on loading jquery-min.js

fancybox2 / fancybox 导致页面跳转到顶部

使用 jQuery 将一个标签替换为另一个标签