javascript - jquery突然停止解析xml

标签 javascript jquery xml

对于某些浏览器,对于某些客户端,jquery突然停止解析xml。

示例 xml:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:FeatureCollection xmlns:wfs="http://www.opengis.net/wfs" xmlns="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:example_namespace="https://mylink.com/wfs/example_namespace" xsi:schemaLocation="https://mylink.com/wfs/example_namespace mylink.com?SERVICE=WFS&amp;VERSION=1.0.0&amp;TYPENAME=example_namespace:TABLE&amp;REQUEST=DescribeFeatureType" numberMatched="unknown" numberReturned="1">
<gml:featureMember>
<example_namespace:TABLE fid="TABLE.15">
<example_namespace:ID>15</example_namespace:ID>
</example_namespace:TABLE>
</gml:featureMember>
</wfs:FeatureCollection>

示例 jquery

$.get(link, function(data) { //Response is xml like in example.
console.log(data) //works as before
console.log($(data).find("featureMember").find("ID").text())
//Doesn't work now for some clients, but worked before.
})

编辑:

更一般的例子:

XML

<?xml version="1.0" encoding="UTF-8"?>
<a xmlns:c="http://www.example.com">
<c:b>TEST</c:b>
</a>

和JS:

console.log($(data).find("b").text())

现在返回:“”,之前返回:“TEST”

编辑 2:

类似问题: Cannot extract SOAP XML with jQuery

This code was originally working in Chrome last week and once Chrome updated to v60 it no longer does.

最佳答案

data传递给$.parseXML()得到一个#document,使用.querySelector()

$.parseXML(data).querySelector("featureMember").querySelector("ID").textContent;

或者将 $.parseXML() 的结果传递给 jQuery() 并使用 .find()

$($.parseXML(data)).find("featureMember").find("ID").text();

jsfiddle https://jsfiddle.net/5fuLquth/

关于javascript - jquery突然停止解析xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45648041/

相关文章:

javascript - 如何使用 C#、JQuery 或 HTML 格式化 XML 数据

javascript - 从具有特定 ID 的 Bootstrap DropDown 中获取选定的项目值

xml - Magento 类别页面 : Change layout of specific categories from grid mode to list mode

android - ScrollView - 如何在 Eclipse 中设计布局时向下滚动?

javascript - Big w IE8 使用 Javascript 在插入符处插入文本

javascript - 当数组更改时,Contenteditable DOM 更新不正确。 Angular

javascript - 获取托管在 github 上的 json 列表 - 不推送到 html

javascript - TIME(日期对象)未在nodejs中更新

jquery - 照片库 - 动态确定图像的宽度/高度以最大化 View

java - 如果 Android 中的值为空或 null,则显示默认文本