» »

Izpis XML-ja z JS

Izpis XML-ja z JS

gnomee ::

Imam en xml fajl z izdelki ter 5 kategorijami. Sedaj to želim izpisat v html-ju z JS-jom, a imam težavo, ker nevem kaj preverjati v if stavku, da bi potem lahko naredil objekt za metodo document.implementation.createDocument("","",null), da bi lahko izpisal še za ostale brskalnike, kajti sedaj imam uporabljeno le metodo ActiveXObject("Microsoft.XMLDOM"), katera pa deluje le v IE.

Kakšen namig kaj naj preverjam?

Lp,
gnomee

Gandalfar ::

poglej si ce ti jQuery omogoca se po xml domu sprehajat

Zgodovina sprememb…

keworkian ::

if (window.DOMParser) { xmldoc = new DOMParser(); } else { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); }

gnomee ::

keworkian je izjavil:

if (window.DOMParser) { xmldoc = new DOMParser(); } else { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); }


To varianto sem tudi že probal, vendar mi še vedno samo v IE izpiše, v Chrome in Mozilla pa noče.. mogoče veš zakaj?

Izpisujem pa na tak način:
var i, n_elems, elems = xmldoc.getElementsByTagName("Ime");
n_elems = elems.length;

for (i = 0; i < n_elems; i++)
   document.write('<b>Ime: </b>' + elems[i].firstChild.nodeValue + "<br>");
   document.write("<br />");

nightrage ::

<html>
	<head>
 <script type="text/javascript">
function loadXmlDocument(xmlFile, callBack)
		{
		   var xdoc;
		
		   if( window.ActiveXObject && /Win/.test(navigator.userAgent) )
		   {
		      xdoc = new ActiveXObject("Microsoft.XMLDOM");
		
		      xdoc.async = false;
		      xdoc.load(xmlFile);
		
		      callBack(xdoc);
		
		      return true;
		   }
		   else if( document.implementation && document.implementation.createDocument )
		   {
		      xdoc = document.implementation.createDocument("", "", null);
		      xdoc.load(xmlFile);
		
		      xdoc.onload = function()
		      {
		         callBack(xdoc);
		      }
		
		      return true;
		   }
		   else
		   {
		      return false;
		   }
		}
function callBackFunction(xmlDocument)
		{

     var element = xmlDocument.getElementsByTagName("xmlTag")[0];	
     alert(element);
}
</script>
</head>
   <body>		
		<table>         
      <tr>
        <td align="left"> 
        	<input type="button" value="Naloži XML dokument" onclick="loadXmlDocument('dokument.xml', callBackFunction)">                
        </td>        
      </tr>            
    </table>       
	</body>
</html>


Takole izgleda naložitev xml dokumenta, če je v istem direktoriju kot je html file. (Opera, Firefox, IE8, v chromu nisem poiskusil)

root987 ::

jQuery ful veselo bere XMLje :)
"Myths which are believed in tend to become true."
--- George Orwell

gnomee ::

@nightrage Hvala, sem rešo sedaj :)
@gandalfar in @root987 Vem, da se da z jQuery to zelo elegantno rešiti, vendar sem moral z JS :) Hvala vama vseeno ;)

Lp,
gnomee

root987 ::

Joj, bogi :>
"Myths which are believed in tend to become true."
--- George Orwell

gnomee ::

root987 je izjavil:

Joj, bogi :>


Niti Najmanj ;) Le držal sem se navodil :P


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

AJAX težava

Oddelek: Programiranje
121695 (1164) tadejp81
»

getElementsByTagName ne dela v Chromu

Oddelek: Programiranje
141673 (1411) win64
»

[ajax] osnove

Oddelek: Programiranje
61060 (904) Volk|
»

java v javascript?

Oddelek: Programiranje
212053 (1756) boss-tech
»

[JavaScript][XML] Zapis v .xml fajl!

Oddelek: Programiranje
71841 (1742) rokpok

Več podobnih tem