Solved

Set ContentType to text/xml with Javascript

Posted on 2006-06-08
8
2,648 Views
Last Modified: 2008-01-09
Hi: I have the following Javascript function that's working but only writing the data out as a regular webpage. How do I set the content type to "text/xml" so that it displays as a real xml file?

function openRSS() {
      //var html = '';
      var str = '<?xml version=""1.0"" ?>\n';
            str += '<rss version="2.0">\n';
            str += '<channel>\n';
            //str += '<title></title>\n';
            //str += '<link></link>\n';
            str += '<description>CNIC News</description>\n';
            str += '<language>en-us</language>\n';

         var showTextElem = document.getElementById("txtDiv");

         if (showTextElem != null) {
               str += showTextElem.innerHTML;
         }
         else
         {
            alert("Could not find the text section in the HTML!");
          return;
      }

         //html += '\n</bo' + 'dy>\n</ht' + 'ml>';
      str += '</channel>\n';
      str += '</rss>\n';

         var textWin = window.open("","rss");
         textWin.document.open();
         textWin.document.write(str);
         textWin.document.close();
}
0
Comment
Question by:greddin
  • 3
  • 2
  • 2
8 Comments
 
LVL 10

Expert Comment

by:ClickCentric
ID: 16867293
I don't think the content-type can be changed after the fact.  If the file starts off as html, you can't just change it to xml.
0
 
LVL 30

Accepted Solution

by:
callrs earned 500 total points
ID: 16867631
<html>
<script type=text/javascript>
var str='&#60;?xml version=""1.0"" ?&#62;\n'
str += '&#60rss version="2.0">\n';
str += '&#60channel>\n';
//str += '&#60title></title>\n';
//str += '&#60link></link>\n';
str += '&#60description>CNIC News&#60/description>\n';
str += '&#60language>en-us&#60/language>\n';
var textWin = window.open("","rss");
textWin.document.open();
textWin.document.write(str);
textWin.document.close();
</script>
</html>

Save the above text as a new .htm file & open it in your browser.
Solution is:
Replace all < with &#60;
You can also replace < with &#62; but it doesn't seem to make a difference
0
 
LVL 5

Expert Comment

by:gksinghiet
ID: 16867632
Set the content type in your original page. Like if you are using JSP then you can set the content type by using page directive as:
<%@ page language="java" contentType="text/xml; charset=UTF-8" %>
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 30

Expert Comment

by:callrs
ID: 16867634
You can also replace < with &#62; --> I meant: You can also replace > with &#62;
0
 
LVL 5

Expert Comment

by:gksinghiet
ID: 16867656
Or simply use meta tag as:
<meta http-equiv="Content-Type" content="text/xml; charset="utf-8" />
0
 
LVL 30

Expert Comment

by:callrs
ID: 16867781
Re: meta tags
Meta tags don't affect the output here in IE 6 (I tried it, no luck)....
0
 
LVL 10

Expert Comment

by:ClickCentric
ID: 16867827
Has it ever been determined why you'd want to open a popup with an rss xml feed in it?  
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

912 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now