zyassen / x2js

Automatically exported from code.google.com/p/x2js
0 stars 0 forks source link

Evaluating XML with an ampersand in data #16

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. read in feed that has ampersands within data
2. execute jsfiddle with feed
3. parse error on execution

What is the expected output? What do you see instead?

JSON with correctly escaped ampersand to be able to replicate XML feed which 
includes many ampersands within data.
See instead a parse error.

What version of the product are you using? On what operating system and
browser version?

x2js 1.1.2

Please provide any additional information below.

Original issue reported on code.google.com by ad...@aidsark.org on 16 Oct 2013 at 11:00

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
This is an issue for  data including    &    

Original comment by ad...@aidsark.org on 16 Oct 2013 at 11:16

GoogleCodeExporter commented 9 years ago
Investigating

Original comment by abdulla....@gmail.com on 16 Oct 2013 at 12:28

GoogleCodeExporter commented 9 years ago
Thanks - here's a sample feed to trial ...

http://corcoransunshine.com/newdevxml/447NewDevs.xml

Original comment by ad...@aidsark.org on 16 Oct 2013 at 12:33

GoogleCodeExporter commented 9 years ago
I've checked it with v1.1.3 
(https://code.google.com/p/x2js/source/browse/xml2json.js) and it looks like 
working for me.

Example with your feed:

     function loadXMLDoc(dname) {
        if (window.XMLHttpRequest) {
            xhttp=new XMLHttpRequest();
        }
        else {
            xhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhttp.open("GET",dname,false);
        xhttp.send();
        return xhttp.responseXML;
    }

    var xmlDoc = loadXMLDoc("447NewDevs.xml");
    var x2js = new X2JS();
    var jsonObj = x2js.xml2json(xmlDoc);

Could you please provide your sample / code where is a problem?

Original comment by abdulla....@gmail.com on 16 Oct 2013 at 12:55

GoogleCodeExporter commented 9 years ago
Was testing via the JS Fiddle you built - inputting the XML from in textarea 
for XML field (together with & data)...

Original comment by ad...@aidsark.org on 16 Oct 2013 at 1:03

GoogleCodeExporter commented 9 years ago
Ouch. Now I understand what you mean. You can't enter '&' to that demo, because 
it is not suitable demo for XML escaping. 
You should have valid well formatted XML string or DOM object for input.
For example, this is not valid XML in string form:
"<textNode>First & Child</textNode>". 
Valid and well-formed XML string form is "<textNode>First & Child</textNode>"
If you have manually enterered XML in string form, you should escape it value 
(because it is required by XML standard).

You should escape only XML node value, not full XML document (in a string 
form). 
For example:
"<textNode>First <> Child</textNode>" should be
"<textNode>First <> Child</textNode>"

Well, this is a not x2js issue. It is just about valid XML string formatting :)
Let me know if you had any other questions.

Original comment by abdulla....@gmail.com on 16 Oct 2013 at 1:28

GoogleCodeExporter commented 9 years ago
right - I was using &  (not just & as it isn't valid XML)  ... the fiddle   
doesn't work with & values.

Original comment by ad...@aidsark.org on 16 Oct 2013 at 1:37

GoogleCodeExporter commented 9 years ago
Ok, you entered you test data with & in the input or in the HTML window code 
frame (at fiddle)?
You can't do it with HTML window code. Actually I'm just lazy and shouldn't 
have fill textarea in that style (because it's not valid HTML).
If you enter test data with & in the textarea (bottom-right frame at fiddle) 
you will see it's working :)

Original comment by abdulla....@gmail.com on 16 Oct 2013 at 1:47

GoogleCodeExporter commented 9 years ago
right - thanks!

Original comment by ad...@aidsark.org on 16 Oct 2013 at 1:51

GoogleCodeExporter commented 9 years ago
NP. I'll think about update demo to avoid misunderstandings.

Original comment by abdulla....@gmail.com on 16 Oct 2013 at 2:09