Solved

HTML thru XML

Posted on 2003-10-23
14
777 Views
Last Modified: 2013-11-19
I'm trying to send an HTML string through XML and I get this error:

msxml4.dll error 'c00ce502'

A string literal was expected, but no opening quote character was found.

If I take the node out that has that string, then the XML passes just fine.

Is it trying to interpret the string as HTML?
0
Comment
Question by:geoffsweb
  • 4
  • 4
  • 4
  • +2
14 Comments
 
LVL 4

Expert Comment

by:farzinm
ID: 9607319
Can we see the node that has that string?
Maybe you are missing a quote in your HTML I am not sure though
0
 

Author Comment

by:geoffsweb
ID: 9607342
if I do a direct response.write and the string, the HTML displays just fine on the screen... it just errors out if I try and send back an xml payload

so you think it might be just missing a quote? the string is very long.
0
 

Expert Comment

by:spike7397
ID: 9610401
Apostrophes will get re-coded in xml format the minute you pass the string through xml.  The xml code for it is '.  If you want to decode it, on the other end, a simple way might be to create a xml document in some code behind, pass the encoded string into it, and retrieve it by the get inner text function.  In short, Xml has a slightly different decoding method than HTML.
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 9614485
First of all apostrophes are fine in XML; there is no need to encode them. (Tags are another matter). I suspect that your XML is not well formed.  But without seeing it, it is impossible to say.

Anthony
0
 
LVL 7

Expert Comment

by:Brad Dobyns, CSM
ID: 9616147
Well, there is another possibility...it could be an error from IE. If the contenttype is xml it will pass this error because the standard IE error page has some HTML which looks like this:

<font face="Arial" size=2>

which is bad XML...

Just a thought.
Brad
0
 

Author Comment

by:geoffsweb
ID: 9616166
I do get this error: <font face="Arial" size=2>

what does that mean?
0
 
LVL 7

Expert Comment

by:Brad Dobyns, CSM
ID: 9616189
Also, as an addition to what I just said: You may have an attribute value which doesn't start with a " or ', or in other words, there is an unquoted attribute. Now, this is valid HTML...but not valid in XML. Once you have discovered what the error message actually says, do a search for these characters: /=[ ]*[^"']/ and you should get the culprit.

Hope that helps.
Brad
0
 
LVL 7

Expert Comment

by:Brad Dobyns, CSM
ID: 9616206
It means there could be an IE error. Check to make sure that ALL of your attributes have double quotes. The error you got is NOT valid XML becasue the 'size' attribute is not double quoted.

Brad
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 9616291
bdobyns,

>>Now, this is valid HTML...but not valid in XML<<
I know exactly what you are saying, but strictlty speaking you mean "but not well formed XML". (I mentioned this previously)  "Valid" implies there is a DTD or Schema involved, which is a different story.

Anthony
0
 
LVL 7

Expert Comment

by:Brad Dobyns, CSM
ID: 9616307
Yes, well, I guess there are different ways to say the same thing. :o)

Brad
0
 

Author Comment

by:geoffsweb
ID: 9616409
OK, I corrected the syntax and I got the XML to save back to the original page.  But now the XML is interpretting the HTML string I'm trying to pass as XML.  Here's the output:
(where vHTML should just be a string that contains HTML, but it seems to be interpretted as XML? the string should be this:
vHTML = "<tr><td>test</td></tr>"

<?xml version="1.0" ?>
- <SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap:vl" xmlns:m="my-name-space">
- <SOAP:Body>
- <user>
  <StateID>OH</StateID>
  <StateName>Ohio</StateName>
  <Name>CCH User 1</Name>
  <AdminRights>10</AdminRights>
  <Load>T</Load>
  <MSG />
- <vHTML>
- <tr>
  <td>test</td>
  </tr>
  </vHTML>
  </user>
  </SOAP:Body>
  </SOAP:Envelope>

make sense??
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 9616483
>>Yes, well, I guess there are different ways to say the same thing. <<
Actually, that was my point they are not the same.  "Well-formed" is one thing "Valid" is something totally different.  In the context of the question I believe we are talking about well-formed not valid.

Anthony
0
 
LVL 75

Accepted Solution

by:
Anthony Perkins earned 125 total points
ID: 9616513
>>make sense?? <<
I think so.  You will have to wrap the HTML in a CDATA segment as follows:
<?xml version="1.0" ?>
<SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap:vl" xmlns:m="my-name-space">
      <SOAP:Body>
            <user>
                  <StateID>OH</StateID>
                  <StateName>Ohio</StateName>
                  <Name>CCH User 1</Name>
                  <AdminRights>10</AdminRights>
                  <Load>T</Load>
                  <MSG />
                  <vHTML><![CDATA[<tr><td>test</td></tr>]]></vHTML>
            </user>
      </SOAP:Body>
</SOAP:Envelope>

Anthony
0
 

Author Comment

by:geoffsweb
ID: 9626711
Thanks to everybody for all the help !!
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preface This is the third article about the EE Collaborative Login Project. A Better Website Login System (http://www.experts-exchange.com/A_2902.html) introduces the Login System and shows how to implement a login page. The EE Collaborative Logi…
There are two main kinds of selectors in CSS: One is base selector like h1, h2, body, table or any existing HTML tags.  For instance, the following rule sets all paragraphs (<p> elements) to red: (CODE) CSS also allows us to define our own custom …
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question