and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
Hi all
I am facing an issue in mozilla browser in my web page, While Loading the XML file using javascript i cant able to get the contents of the XML file, It works fyn in IE but in mozilla i cant fetch the values of XML, I am getting undefined value. And the XML file is in .php extension.
Here is the method i am using
[syntax="javascript"]var xmlDoc;
function importXML(file) {
var xmlDoc;
var moz = (typeof document.implementation != 'undefined') && (typeof
document.implementation.createDocument != 'undefined');
var ie = (typeof window.ActiveXObject != 'undefined');
if (moz) {
xmlDoc = document.implementation.createDocument("", "", null)
xmlDoc.onload = readXML;
} else if (ie) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
while(xmlDoc.readyState != 4) {};
}
xmlDoc.load(file);
}
and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]
Raja,
I'm currently working on the exact same thing...except im having trouble with IE....
here somethning to use
[syntax="javascript"]
/* this function loads an XSL stylesheet into an the appropriate XSLT processor object
dependant on the browser */
function loadXslStylesheet(templatePath)
{/* load the XSL template */
try {
var oXmlDom = createDomFromUri(templatePath, true);
} catch (e) {
return false;
}
//if (! parseXmlDom(oXmlDom)) {
// only contuine if the XSL style sheet is valid
// return false;
//}
if ((typeof XSLTProcessor) != "undefined") { // w3c Compliant browsers
var oXslt = new XSLTProcessor();
oXslt.importStylesheet(oXmlDom);
return oXslt;
} else if (window.ActiveXObject) { // Internet Explorer
var xslTemplate = new ActiveXObject("Msxml2.XSLTemplate.3.0");
xslTemplate.stylesheet= oXmlDom;
alert(xslTemplate);
return xslTemplate.createProcessor();
}
}
/* this function tranforms an XML document using an XSLT Processor object
for w3c compliant browsers, a DOMDocument object is returned
for Internet Explioer a valid string representation of the XML is returned
*/
function transformXml(oXmlDom, oXsltProcessor)
{
if (window.ActiveXObject) { // Internet Explorer
oXsltProcessor.input = oXmlDom;
oXsltProcessor.transform();
return oXsltProcessor.output;
} else { // w3c compliant borwsers
var xmlDoc = oXsltProcessor.transformToDocument(oXmlDom);
var xmls = new XMLSerializer();
return xmls.serializeToString(xmlDoc);
}
}
function getXMLHTTP()
{
if ((typeof XMLHttpRequest) != "undefined") {
/* XMLHTTPRequest present, use that */
return new XMLHttpRequest();
} else if (window.ActiveXObject) {
/* there are several versions of IE's Active X control, use the most recent one available */
var xmlVersions = ["MSXML2.XMLHttp.5.0",
"MSXML2.XMLHttp.4.0",
"MSXML2.XMLHttp.3.0",
"MSXML2.XMLHttp",
"Microsoft.XMLHTTP"];
for (var x =0; x < xmlVersions.length; x++) {
try {
var xmlHTTP = new ActiveXObject(xmlVersions[x]);
return xmlHTTP;
} catch (e) {
//continue looping
}
}
}
/* if none of that worked, return false, to indicate failure */
return false;
}
/* checks a loaded XML document is valid */
function parseXmlDom(oXmlDom)
{
if (window.ActiveXObject) { // Internet Explorer
if (oXmlDom.parseError && oXmlDom.parseError.errorCode != 0) {
alert(oXmlDom.parseError.reason);
return false;
} else {
return true;
}
} else if (oXmlDom.documentElement) { // w3c Compliant Browsers
if (oXmlDom.documentElement.tagName == 'parsererror') {
return false;
} else {
return true;
}
}
throw 'Cannot Parse XML DOM';
}
/* creates a DOM Document from a URI containing valid XML
- the freeThreaded argument is used by Internet Explorer to create a freeThreaded DOMDocument */
function createDomFromUri(uri, freeThreaded)
{
var oXml = getDom(freeThreaded);
oXml.async = false;
oXml.load(uri);
return oXml;
}
/* returns an instance of a DOMDocument object, dependant on the browser
- freeThreaded, if set to true will return a FreeThreadedDOMDocument in internet Explorer */
function getDom(freeThreaded)
{
if (document.implementation.createDocument) {
return document.implementation.createDocument('', '', null);
} else if (window.ActiveXObject) {
if (freeThreaded) {
return new ActiveXObject("MSXML2.FreeThreadedDOMDocument.3.0");
}
/* use the newest version of the MSXML2.DOMDocument available */
var xmlVersions = ["MSXML2.DOMDocument.5.0",
"MSXML2.DOMDocument.4.0",
"MSXML2.DOMDocument.3.0",
"MSXML2.DOMDocument",
"Microsoft.XmlDom"];
for (var x =0; x < xmlVersions.length; x++) {
var oXml = '';
if((oXml = new ActiveXObject(xmlVersions[x]))){
return oXml;
}
}
}
throw 'Cannot load XML';
}
function loadXmlFromString(sXml)
{
var oXml = getDom();
if (window.ActiveXObject) { // Internet Explorer
oXml.loadXML(sXml);
return oXml;
} else if ((typeof DOMParser) != "undefined") { // w3c Compliant Browsers
var parser = new DOMParser();
var ret = parser.parseFromString(sXml, 'text/xml');
return ret;
}
throw 'Cannot load XMl from string';
}
function loadXMLData(url,outputDiv){
xmlhttp = getXMLHTTP();
if (xmlhttp){
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState==4){
if (xmlhttp.status==200){
outPutXML(xmlhttp.responseText,outputDiv);
}else{
alert("Problem retrieving data:" + xmlhttp.statusText);
}
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}else{
alert("Problem getting a connection");
}
}
I'm currently trying to figure out some errors but some stuff work in firefox
and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read: [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]