Skip to content Skip to sidebar Skip to footer

Jquery Suddenly Stopped Parsing Xml

For some browsers, for some clients, jquery suddenly stopped parsing xml. Example xml: Copy

alternatively pass result of $.parseXML() to jQuery() and use .find()

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

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

Solution 2:

Parsing XML using jQuery in this way has some browser compatibility bugs I believe. This has been a won't fix jquery bug previously.

When there are namespaces in the xml you can use jquery selectors like the below by escaping the colon:

.find('gml\\:featureMember')

or using nodeName:

.find('[nodeName="gml:featureMember"]')

See demo below:

var 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>`;

console.log($(xml)
  .find('gml\\:featureMember')
  .find("example_namespace\\:ID").text());
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Post a Comment for "Jquery Suddenly Stopped Parsing Xml"