[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, 00:49
Beitrag # 1 von 4
Bewertung:
(3281 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
 
http://www.be-sign.net
iMac Retina 5K, 27" 3,8GHz i5, 16GByte RAM, 2 TByte HD
OS X 10.15.3 • Adobe Creative Suite CC
X

xml-datei einlesen

Intermedia
Beiträge gesamt: 1287

3. Sep 2015, 08:14
Beitrag # 2 von 4
Beitrag ID: #542520
Bewertung:
(3214 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


http://www.aurahysil.de?hds Mit Aurahysil Freizeit schaffen - Beschichtungen der besonderen Art - http://www.intermedia-bg.de?hds INTERMEDIA bürogemeinschaft


als Antwort auf: [#542514]

xml-datei einlesen

bernhard
Beiträge gesamt: 444

3. Sep 2015, 10:57
Beitrag # 3 von 4
Beitrag ID: #542524
Bewertung:
(3157 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
 
http://www.be-sign.net
iMac Retina 5K, 27" 3,8GHz i5, 16GByte RAM, 2 TByte HD
OS X 10.15.3 • Adobe Creative Suite CC


als Antwort auf: [#542520]

xml-datei einlesen

bernhard
Beiträge gesamt: 444

3. Sep 2015, 13:02
Beitrag # 4 von 4
Beitrag ID: #542533
Bewertung:
(3132 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
 
http://www.be-sign.net
iMac Retina 5K, 27" 3,8GHz i5, 16GByte RAM, 2 TByte HD
OS X 10.15.3 • Adobe Creative Suite CC


als Antwort auf: [#542524]
X

Aktuell

PDF / Print
kalenderFebruar_kl

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
05.02.2021 - 05.11.2021

Digicomp Academy AG, Limmatstrasse 50, 8005 Zürich
Freitag, 05. Feb. 2021, 13.00 Uhr - Freitag, 05. Nov. 2021, 17.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PM

Veranstaltungen
30.07.2021

Chur, SNF Academy Birol Isik
Freitag, 30. Juli 2021, 07.45 - 20.00 Uhr

Onlinekurs

Digitalisierung Chancen & Herausforderungen CRM / Kundenbetreuung Produkte digitalisieren Unternehmenskommunikation Content Publishing

Ja

Organisator: Birol Isik

Kontaktinformation: Birol Isik, E-Mailinfo AT snfa DOT ch

https://www.snfa.ch/fitness-training-schweiz