Solved

Set ContentType to text/xml with Javascript

Posted on 2006-06-08
8
2,652 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
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 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

Does Powershell have you tied up in knots?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Window.Open() is showing a blank page 9 31
Google Maps API and PHP 25 30
Jquery 10 20
How can I repeat this modal box over and over again...? 2 18
Avoid defining the variables in the global scope; trying to define them in a local function scope. Because:   • Look-up is performed every time a variable is accessed.   • Variables are resolved backwards from most specific to least specific scope…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
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…

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