XML Auslesen

Leider nicht :(

Per AJAX kann man nur im IE auf externe Quellen zugreifen, und auf anderem Weg ist eh kein Zugriff auf fremde Dokumente möglich.
 
Leider nicht :(

Per AJAX kann man nur im IE auf externe Quellen zugreifen, und auf anderem Weg ist eh kein Zugriff auf fremde Dokumente möglich.

Was ist AJAX? habe noch nicht davon gehört. So wie ich das verstehe ist das eine Browsersprache Oder? Ich mein wenn auch nur auf IE könnte das trozdem ne Hilfe sein den den nutzen 58% meiner Besucher. Wenn die Sprache aber irgendwie einen Server benötigt dann kann ich das vergessen, denn mein Space kennt keine Scripte und Datenbanken :(
 
AJAX funktioniert auch in anderen Browsern...du musst aber mit einem fremden Server kommunizieren, da liegt das Huhn im Pfeffer :suspekt:

Wie Hase im Pfeffer? Das geht dann nur unter IE?
Wo finde ich eine gute AJAX - Tutoinal auf Deutsch, damit ich eine Übersicht bekomme wie ein Script aussieht und welche Befehle/Funktionien es gibt.

Ich mein all zu größe Krämpfe will ich nicht machen nur einen Preis aus der Datei auslesen, und in eine Javascript Variable übergeben damit es in das Script kommt welche ein paar Preise berechnet und die User nicht mehr unbedingt einen Preis über das Formular eingeben müssen. Hier für diese http://www.goldsammler.eu/goldmuenzenliste.html und ggf noch einer anderen Seite
 
Hallo Cusco,

du könntest eine "externe XML-Dateninsel" anlegen wie z.B. im folgenden Beispiel:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>Zugriff auf externe XML-Dateninsel: Beispiel LondonMarketData</title>

    <script type="text/javascript" language="JavaScript">
    <!--
    function loadTable() {
        var xmlKnoten = window.document.getElementById('daten');
        var tab = '<table cellspacing=0 cellpadding=5 border=1>';

        for (i=0; i<xmlKnoten.childNodes.length; i++) {
            if (xmlKnoten.childNodes[i].nodeType != 3) {
                elementKnoten = xmlKnoten.childNodes[i];
                tab += '<tr><th colspan=2>'+elementKnoten.nodeName+'</th></tr>';
                for (j=0; j<elementKnoten.childNodes.length; j++) {
                    if (elementKnoten.childNodes[j].nodeType != 3) {
                        kindKnoten = elementKnoten.childNodes[j];
                        tab += '<tr><th>'+kindKnoten.nodeName+'</th>';
                        tab += '<td>'+kindKnoten.firstChild.nodeValue+'</td></tr>';
                    }
                }
            }
        };
        tab += '</table>';

        window.document.getElementById('tabDiv').innerHTML = tab;
    }
    //-->
    </script>
</head>

<body onload="loadTable();">

<h1><a href="http://www.webservicex.net/LondonGoldFix.asmx/GetLondonGoldAndSilverFix">LondonMarketData</a></h1>

<!-- externe Dateninsel: -->
<xml src="http://www.webservicex.net/LondonGoldFix.asmx/GetLondonGoldAndSilverFix" id="daten"></xml>

<div id="tabDiv"></div>

</body>
</html>
Das Script ist an ein Beispiel aus dem Mozilla Developer Center angelehnt. Es liest alle XML-Elemente der Reihe nach aus und schreibt die Elementnamen und Werte in eine Tabelle.Dementsprechend wird auch eine festgelegte Struktur der XML-Datei erwartet. Falls du es nur auf bestimmte Elemente abgesehen hast, dann kannst du diese Elemente besser mit der getElementsByTagName-Methode auslesen, wie das hier gezeigt wird.

Wie Sven oben schon gesagt hat: Ein Zugriff auf externe Dateninseln ist nur mit dem Internet-Explorer möglich. Firefox und Opera zeigen zwar keine Fehler an, aber auch keine Daten.
 
Hallo Cusco,

du könntest eine "externe XML-Dateninsel" anlegen wie z.B. im folgenden Beispiel:

Das Script ist an ein Beispiel aus dem Mozilla Developer Center angelehnt. Es liest alle XML-Elemente der Reihe nach aus und schreibt die Elementnamen und Werte in eine Tabelle.Dementsprechend wird auch eine festgelegte Struktur der XML-Datei erwartet. Falls du es nur auf bestimmte Elemente abgesehen hast, dann kannst du diese Elemente besser mit der getElementsByTagName-Methode auslesen, wie das hier gezeigt wird.

Wie Sven oben schon gesagt hat: Ein Zugriff auf externe Dateninseln ist nur mit dem Internet-Explorer möglich. Firefox und Opera zeigen zwar keine Fehler an, aber auch keine Daten.

Hi,

so kommen wir der Sache schon näher ;-)
Ich brauche tatsächlich nur 1 Element und zwar der der Gold_A;M_EUR oder Gold_PM_EUR (Momentan auf 0)
Ich habe versucht das script umzuschreiben so das nur der wert ausgelesen wird, aber das klappt leider nicht :( Es wird nur 'undefined' statt der Wert ausgegeben.
Wie geht das richtig?

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <title>Zugriff auf externe XML-Dateninsel: Beispiel LondonMarketData</title>

    <script type="text/javascript" language="JavaScript">
    <!--
    function loadkurs() {
        var xmlKnoten = window.document.getElementById('daten');
        var kurs = xmlKnoten.getElementsByTagName('Gold_AM_EUR');
        document.write(kurs);
    }
    //-->
    </script>
</head>

<body onload="loadkurs();">
<h1><a href="http://www.webservicex.net/LondonGoldFix.asmx/GetLondonGoldAndSilverFix">LondonMarketData</a></h1>
<!-- externe Dateninsel: -->
<xml src="http://www.webservicex.net/LondonGoldFix.asmx/GetLondonGoldAndSilverFix" id="daten"></xml>
</body>
</html>

//EDIT:

Moment, mir ist gerade aufgefallen, bei document.write wurde die ganze seite überschrieben, wenn das so ist dann wird mein script wohl nicht gehen, da mit document.write alles ausgegeben wird. Ich wüste aber schon einen Trick der aber nicht so schön ist.

1. XML HTML-Code in eine extra seite packen
2. Von der Orginalseite die xml-seite aufrufen
3. werte auslesen
4. Ausgelesende Werte per Suffix an die Originalseite/Ausgabeseite schicken z.B. goldliste.html?500.15=EUR
5. Neue berechnete Werte per document.write in die Ausgabeseite ausgeben

Ich bin für jeden Vorschlag offen

Edit2:
Halt anscheint doch nicht statt onload im Body kann ich das script wohl mit
Code:
<script type="text/javascript" language="JavaScript">loadkurs();</script>
unter der xml Angabe im Body starten
 
Zuletzt bearbeitet:
So sollte es hinhauen:
Code:
    <script type="text/javascript" >
    <!--
    function loadkurs() {
        var xmlKnoten = document.getElementById('daten');
        var kurs = xmlKnoten.getElementsByTagName('Gold_AM_EUR')[0].firstChild.data;
        document.body.appendChild(document.createTextNode(kurs));
    }
    //-->
    </script>
 

Neue Beiträge

Zurück