XML mit JavaScript laden

Black Panter

Mitglied
Hi,

ich möchte mir ein Vokabel lernprogramm mit JavaScript schreiben. Dafür will ich die Vokabeln in eine XML Datei schreiben.

Die XML-Datei soll dabei wie folgt aussehen:

Code:
<?xml version="1.0" ?>

<vokabeln>
<voc deu="ja" jap="hai"></voc>
<voc deu="nein" jap="iee"></voc>
...
</vokabeln>

Mit google habe ich jetzt zum einlesen der XML-Datei immer nur Scripts gefunden, die mir das ganze einfach auflisten.

Ich möchte die Atribute "deu" und "jap" in die Arrays "deu[ i ]" und "jap[ i ]" laden um sie später auf sie zugreifen zu können.

wie muss ich jetzt die XML-Datei aufrufen und wie greif ich auf die Atribute zu?

Mit freundlichen Grüßen aus Japan
Sören

P.S.: Mir steht kein PHP oder Perl zu verfügung
 
Bau dir doch einen Parser ;)

Wenn du scripts zur Auflistung gefunden hast bau die doch einfach geringfügig um, und anstatt die Werte auszugeben schreibst du sie in Arrays, Literale, Objekte oder was auch immer du benötigst.

mfg
 
Ich habe jetzt mal nen bischen rumprobiert und folgendes geschrieben:

Code:
<!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>
</head>

<body>
<xml src="test.xml" id="daten"></xml>
<script type="text/javascript">

for (i=0; i <= document.getElementsByTagName(vokabeln).length;i++){
	document.write(document.getElementsByTagName(voc)[i].getAttribute(deu));
	document.write(document.getElementsByTagName(voc)[i].getAttribute(jap));
}

</script>


</body>
</html>

die Fehlerkonsole sagt mir jetzt das "vokabeln" nicht definiert ist.
 
Zuletzt bearbeitet:
Ich habe es jetzt geschaft

hab nach nem tip von nem freund mir folgendes geschrieben:

Code:
<!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></title>
<script type="text/javascript">
o = null;

if(window.XMLHttpRequest)
{o = new XMLHttpRequest();}
else if(window.ActiveXObject)
{
 try
 {o = new ActiveXObject('Msxml2.XMLHTTP');}
 catch(e1)
 {try
  {o = new ActiveXObject('Microsoft.XMLHTTP');}
  catch(e2)
  {}
 }
}
</script>
    
</head>

<body>

<script type="text/javascript">
var count = 0

o.open('GET','test.xml',false);
o.send(null);
x = o.responseXML.documentElement;
document.write('<table><th>Deutsch</th><th>Japanisch</th><th>Deutsch</th><th>Japanisch</th>');
for(i=0;i<x.childNodes.length;i++)
{
 voc = x.childNodes[i];
 if(voc.nodeType == 1)
 {
  	if (count==0) {document.write('<tr>')}
  namedeu = voc.getAttribute('deu');
  namejap = voc.getAttribute('jap');
  document.write('<td>'+namedeu+'</td>');
  document.write('<td>'+namejap+'</td>');
  count++
  	if (count==2){document.write('</tr>'); count = 0;}
 }
}
</script>


</body>
</html>
 
Zurück