Moinsen,
ich muss diese folgende XML-Datei per Javascript ausgelesen bekommen:
<?xml version="1.0" encoding="UTF-8"?>
<getpagerank>
<info>
<url>web.de</url>
<fromcache>1</fromcache>
<cachingdate></cachingdate>
</info>
<serverlist>
<server>
<ip>toolbarqueries.google.com</ip>
<pagerank>0</pagerank>
</server>
<server>
<ip>64.233.161.99</ip>
<pagerank>0</pagerank>
</server>
<server>
<ip>64.233.161.104</ip>
<pagerank>0</pagerank>
</server>
</serverlist>
</getpagerank>
Dabei will ich die Googleserver wie folgt in einer Tabelle haben:
<table>
<tr>
<th>Server</th>
<th>PR</th>
</tr>
<tr>
<td>toolbarqueries.google.com</td>
<td>0</td>
</tr>
<tr>
<td>64.233.161.99</td>
<td>0</td>
</tr>
<tr>
<td>64.233.161.104</td>
<td>0</td>
</tr>
</table>
Wie stelle ich das an? Mit PHP wäre es ja einfach..aber in JS?
Nen kleinen Ansatz habe ich auch schon:
<script type="text/javascript">
<!--
var http_request = false;
function macheRequest(url){
http_request = false;
if(window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// zu dieser Zeile siehe weiter unten
}
}else if (window.ActiveXObject) { // IE
try{
http_request = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
try{
http_request = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){}
}
}
if(!http_request){
alert('Bitte benutze zum Anzeigen eine aktuelle Version des '+
'Internet Explorers oder des Mozilla Firefox.');
return false;
}
http_request.onreadystatechange = alertInhalt;
http_request.open('GET', url, true);
http_request.send(null);
}
function alertInhalt(){
if(http_request.readyState == 4){
if(http_request.status == 200){
// Und wie gehts hier jetzt weida?
}else{
alert('Interner Fehler\nBitte versuche es später noch einmal.');
}
}
}
</script>
Vll könnt ihr mir ja helfen :-)
Gruß,
xyz-72
keiner nen plan?
google ist dein freund ;)
baus dir einfach zusammen :D dann tuts das
Js + Dom :D
ih probiers mal aus....
Ich würde auf XAJAX zeigen, da man dort auch XML Inhalte weiterleiten kann... Weiss aber nicht ob das unbedingt so umständlich wirklich Sinn macht =/
müsste hinhauen :D Übergeben musst du den Request Text :D
also aufrufen mit: getServer(req.responseXML);
oder wie auch immer du dein xml kriegst :D
als rückgabe kriegst du den geparstend Code....ich habs nicht probiert kann auch voll in die hose gehen :D
var getServer = function(server) {
var root = server.getElementsByTagName("getpagerank")[0];
var serverlist = root.getElementsByTagName("serverlist")[0];
var item = serverlist.getElementsByTagName("server");
var ret = "<table><tr><th>Server</th><th>PR</th></tr>";
for(var i = 0; i < item.length; i++) {
var ip = item[i].getElementsByTagName("ip")[0].firstChild.nodeVa
lue;
var pagerank = item[i].getElementsByTagName("pagerank")[0].firstChild.nodeValue;
alert(ip+" "+pagerank);
ret += "<tr><td>"+ip+"</td><td>"+pagerank+"</td></tr>"
}
return ret
}
auch hiernochmal =)
danke!! es funzt =)