[GastForen Programmierung/Entwicklung JavaScript xml-datei einlesen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

xml-datei einlesen

bernhard
Beiträge gesamt: 444

3. Sep 2015, 02:49
Beitrag # 1 von 4
Bewertung:
(3926 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo zusammen,

ich stehe mit einem ganz kleinen script gerade etwas auf dem schlauch. die vorgeschichte: auf verschiedenen websites, bei denen sich ein echter webshop nicht lohnt, simuliere ich eine art mini-shop mit einem simplen javascript. zb. hier (http://kurthoehle-verlag.de/pages/ShopMedizin.php).
nun würde ich das gerne etwas ausbauen, bzw. flexibler und leichter zu handhaben machen. der erste schritt besteht darin, die daten der produkte in eine xml-datei auszulagern.

die xml-datei (testversion) hat folgende struktur:

Code
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<store>
<item>
<name>book</name>
<price>9.50</price>
</item>
<item>
<name>poster</name>
<price>25</price>
</item>
<item>
<name>dvd</name>
<price>5.99</price>
</item>
</store>


der testaufbau der website sieht folgendermassen aus:

Code
<!doctype html> 
<html>
<head>
<title>ministore</title>
<link rel="stylesheet" type="text/css" href="css/readfile.css">
<script type="text/javascript" src="scripts/jquery-2.1.4.min.js"></script>
<script type="text/javascript">

var name = new Array ();
var price = new Array ();
var i = 0;

$(document).ready(function(){
$.get("ministore.xml", function(xml){
$('item',xml).each(function() {

name[i] = $(this).find("name").text();
document.write(name[i] + " ");

price[i] = $(this).find("price").text();
document.write(price[i] + " ");

i++;

});
});
});

</script>

</head>

<body>
</body>
</html>


ich definiere zwei arrys (name und price), öffne dann die datei und lese die werte in die arrays ein.
zum testen schreibe ich die gespeicherten array-werte direkt auf den monitor (document.write)
obwohl name und price identisch definiert und benutzt werden, finde ich auf dem bildschirm lediglich die price-werte.
für name erhalte ich nur "undefined". ich kann weder an der definition, noch bei der funktion eine abweichung zwischen den beiden arrays finden. was habe ich da übersehen? nach der zweiten nacht der fehlersuche, bin ich wohl betriebsblind und benötige ein externes auge :-)

vielen dank im voraus und grüße
bernd
 
X

xml-datei einlesen

Intermedia
Beiträge gesamt: 1287

3. Sep 2015, 10:14
Beitrag # 2 von 4
Beitrag ID: #542520
Bewertung:
(3859 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

das ist schon eigenartig.

Gib dem Array "name" mal einen anderen Namen, z.B. "nam" dann hat es bei mir zumindest funktioniert.

Eine Erklärung hab ich leider auch nicht.

Gruß Sven


als Antwort auf: [#542514]

xml-datei einlesen

bernhard
Beiträge gesamt: 444

3. Sep 2015, 12:57
Beitrag # 3 von 4
Beitrag ID: #542524
Bewertung:
(3802 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
danke, werde ich heute nachmittag mal testen. einen moment spielte ich auch mit dem gedanken, verwarf ihn aber wieder, weil name ja kein reserviertes schlüsselwort ist...

grüße
bernd
 


als Antwort auf: [#542520]

xml-datei einlesen

bernhard
Beiträge gesamt: 444

3. Sep 2015, 15:02
Beitrag # 4 von 4
Beitrag ID: #542533
Bewertung:
(3777 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
es klappt. und bei der gelegenheit noch eine andere beobachtung:
wenn ich Name mit großem "N" schreibe, funktioniert es auch.
name (kleingeschrieben), scheint in javascript - warum auch immer - ein nogo zu sein.
falls jemand weiss, warum das so ist, wäre das interessant zu erfahren...

grüße
bernd
 


als Antwort auf: [#542524]
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
09.05.2023

Digicomp (Bern, Basel, Zürich)
Dienstag, 09. Mai 2023, 08.30 - 17.00 Uhr

Kurs

Sie verfügen über ein Abonnement der Creative Cloud, welches Adobe Acrobat DC Pro beinhaltet. Sind Sie unsicher, ob Ihre PDF Dateien für die jeweilige Druckausgabe geeignet sind? Lernen Sie in diesem Kurs das notwendige Rüstzeug für den sicheren Datenaustausch mit Druckdienstleistern. Erstellen Sie druckfähige PDF/X und prüfen Sie Ihre PDFs vor einer Weitergabe mit Acrobat DC Pro.

Dauer: 1 Tag
Preis: CHF 700.–, exkl. MWST

Ja

Organisator: Digicomp Academy AG

https://digicomp.ch/weiterbildung-media-communication/adobe/kurs-pruefen-von-druck-pdf-in-acrobat-dc-pro--basic

Prüfen von Druck-PDF in Acrobat DC Pro