ERLEDIGT
JA
JA
ANTWORTEN
20
20
ZUGRIFFE
884
884
EMPFEHLEN
-
Hallo und guten Abend zusammen
,
ich möchte in meinem Projekt in einem Dynamischen Textfeld reinen
text importieren. Also News sollen dort stehen. Diese sollen Scrollbar sein.
Wichtig ist mir eigentlich nur zu wissen welche die beste Methode ist den Text zu
importieren. Nehme ich da eine TXT Datei oder XML?
Ich habe keine Ahnung...
Die Ausgabe soll so aussehen:
[Datum: xx.xx.xx]
blablablablablablablabla
blablablablablablablabla
blablablablablablablabla
blablablablablablablabla
blablablablablablablabla
----------------------------------
[Datum: xx.xx.xx]
blablablablablablablabla
blablablablablablablabla
blablablablablablablabla
blablablablablablablabla
blablablablablablablabla
----------------------------------
Besten Gruß,
Mike
-
Hallo,
das ist Ansichtssache. Meiner Meinung nach ist XML viel komfortabler, weil du die Elemente eines Textes, grade wenns um wiederholte gleichbleibende Strukturen geht, besser anordnen kannst. Ausserdem hast du mit dem XML Objekt eine bequeme Methode, die ganze Chose auch auszulesen.
gruss
-
Hi
Danke für die Antwort.
Ich dachte mir schon, dass es eines Tages soweit kommt...
Nun komme ich wohl nicht drum rum.
Muss das mit dem XML versuchen,
aber trauen tu ich mich irgendwie nicht so richtig.
Ich werde auch aus den Tutorials nicht so richtig schlau
Ich poste mal was ich erarbeitet habe.
Der XML Code (Falsch?)
Code :1 2 3 4 5 6
<?xml version="1.0"?> <news> <datum>19.02.2006</datum> <headline>Willkommen</headline> <text>Blablabla</text> </news>
Jetzt der AS Code (auch falsch?):
Code :1 2 3 4 5
xml = new XML(); xml.load("home2.xml"); xml.firstChild; stop();
Ich komme nicht weiter
Ich will in das Dynamische Textfeld mit dem namen: "home2" nun immer
das Datum, gefolgt von der Überschrift gefolgt vom Text reinschreiben.
Es soll auch scrollbar sein, was aber denke ich kein Problem darstellt.
Wie fahre ich nun fort?
Muss man die Inhalte in ein Array übergeben das mit einer While (oder überhapt einer Schleife) ausgelesen wird?
Kann man eine XML Datei auch "beschreiben"?
Wenn ja, wieso gibts dann noch Datenbanken wie mySQL?
Wegen der Leistungsstärke?
Fragen über Fragen...
Wird wohl nur etwas für echte Profis sein.
Wenn mir nur irgendjemand mit dem Code helfen würde,
dann wäre ich wirklich unglaublich dankbar.
Liebe Grüße,
Mike
Also quasi ähnlich wie bei PHP, wenn man auf eine
-
Hi,
ein Beispiel zum Einladen der Daten wäre folgendes:Gibt es mehrere news-Tags, so kannst Du auf diese ebenfalls über das childNodes-Array zugreifen (wie Du richtig erkannt hast, kannst Du dieses über eine Schleife auslesen). Wichtig ist, dass das Einladen der Daten asynchron erfolgt: erst beim Aufruf des onLoad-Handlers stehen die Daten zur Verfügung und können ausgelesen werden.Code :1 2 3 4 5 6 7 8 9
var xm = new XML(); xm.onLoad = function() { var news = this.firstChild; var datum = news.childNodes[0].firstChild; var headline = news.childNodes[1].firstChild; var text = news.childNodes[2].firstChild; } xm.load("home2.xml");
Mit Hausmitteln kannst Du nicht schreibend auf Dateien zugreifen; zu diesem Zweck verwendet man eine serverseitige Sprache. Du übergibst die Daten z.B. einem PHP-Script, welches die Änderungen in die Datei schreibt. Mit einer Datenbank hast Du natürlich komfortablere Möglichkeiten des Zugriffs.
Gruß
.
-
Hi Tobias
...
Danke für Deine Antwort
Also quasi:
Code :1 2 3
home2array=while(news.childNodes[0].firstChild){ home2=news.childNodes...? }
Ne ich verstehe es nicht
*heul*
Der Ansatz ist falsch oder?
-
Du kannst eine while-Schleife nicht einer Variablen zuordnen - sie gibt ja nichts zurück. "firstChild" ist zudem keine Methode, sondern eine Eigenschaft, die entweder gesetzt oder abgefragt werden kann.home2array=while(news.childNodes[0].firstChild){
Ich empfehle Dir, Dich noch einmal durch die Grundlagenliteratur diverser Script- und Hochsprachen zu wühlen; insbesondere Kontrollstrukturen, Ausdrücke sowie die Untschiede zwischen Methoden/Funktionen und Eigenschaften solltest Du Dir nochmal anschauen - dann passieren Dir auch solche "Ansätze" nicht mehr.
Ein childNodes-Array lässt sich prima mit einer for-Schleife durchlaufen, da die Länge (length) ja bekannt ist:Code :1 2 3 4
var foo = new Array(); for (var i=0; i<knoten.length; i++) { foo = knoten[i]; }
Gruß
.
-
Hi Tobias,
ja hast recht...
Aber es geht trotzdem nicht.
Ich unterliege wahrscheinlich noch einem Denkfehler.
Hier mein Code:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
stop(); var xm = new XML(); //Ein neues XML Objekt erstellen?! xm.onLoad = function() { //Beim Laden des Dokuments... var news = this.firstChild; //...gilt news als firstchild, oder "root" der XML var datum = news.childNodes[0].firstChild; //...das datum ist der erste Punkt im Array der Knoten ausgehend vom "root" oder firstchild var headline = news.childNodes[1].firstChild; //...2. var text = news.childNodes[2].firstChild; //...3. } var inhalt = new Array(); //Neues Array für den Inhalt der XML for (var i=0; i<news.childNodes[0].firstChild.length; i++) { //Startwert für i=0, solange der Inhalt des Arrays "..." größer als i ist gilt was später folgt, i wird dekrementiert... inhalt = news.childNodes[0].firstChild[i]; //Der erste Knoten wird als Inhalt übergeben... } xm.load("home2.xml"); //Laden des Dokuments home2_mc.home2 = inhalt; //MC gefolgt von der Textfeldbezeichnung //Zuweisen des Inhalts
Was mach ich falsch?
-
Muss es nicht heißen:
Code :1 2 3 4
var foo = new Array(); for (var i=0; i<knoten.length; i++) { foo[i] = knoten[i]; //Das Array foo hochzählen? Hattest du das vergessen? }
Man ich komm nicht weiter
















-
Folgendes:
news entspricht: this.firstChild;
Code :1 2 3 4 5 6
var inhalt = new Array(); for (var i=0; i<news.length; i++) { inhalt = news[i]; } xm.load("home2.xml"); this.home2_mc.home2=inhalt[1];
Das müsste es doch nun aber sein?
-
Hallo,
auf die Schnelle würd ich behaupten, dass dein news[i] dir sowas wie <datum>12.3.15</datum> zurückgibt. Der Inhalt eines Knotens wird jedoch auch als Kind interpretiert, darum müsste es heissen:
grussPHP-Code:var inhalt = new Array();
xm.onLoad = function () {
var news = this.firstChild;
for (var i=0; i<news.length; i++) {
inhalt = news[i].firstChild;
//mit dem firstChild den Textknoten ansprechen
}
}
xm.load("home2.xml");
this.home2_mc.home2=inhalt[1];
PS: Es ist schön, dass du einen immer über deinen Wissensstand informierst und selbst probierst, dein Problem zu lösen, aber push deine Beiträge bitte nicht, es wird dir hier bestimmt geholfen, auch wenn es manchmal länger dauert.
PPS: Du kannst doch die Ausgaben etc. selbst testen
. Warum muss das hier einer absegnen?
-
Hi!
Ne soweit kam ich ja nichteinmal
Es wird strikt nichts ausgegeben
Teste es nun einmal...
Dankeschön,
besten Gruß,
Mike
-
Geht nicht
...
Es wird einfach nichts ausgegeben
Langsam bestätigt sich meine Angst
Was mach ich falsch?
Kann vielleicht einer sich erbarmen und einen fertigen Quelltext posten?
Gegeben sind die XML struktur und das Dynamische Textfeld (home2).
Ich schaffs nicht
Danke an Euch alle für die Hilfe bisher,
Gruß
Mike
-
Hallo,
ich fänds besser, wenn du mal deine Datei posten würdest. Da ist man auch gleich näher am Problem
.
gruss
-
Ich erbarme mich mal ...

Es kommt natürlich darauf an, in welcher Form Du die Daten später brauchst - ich habe hier mal ein Array aus Objekten verwendet, was wohl die kompakteste Datenform darstellt.
Gegeben z.B. folgende xml-Datei:Code :1 2 3 4 5 6 7 8 9 10 11
<?xml version="1.0"?> <news> <datum>19.02.2006</datum> <headline>Willkommen</headline> <text>Blablabla</text> </news> <news> <datum>21.02.2006</datum> <headline>Zweiter Titel</headline> <text>Foobar Foobar Foobar</text> </news>
Laden und Parsen mit folgendem Code:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
var eintrag = new Array(); // Array für die Inhalte var xm = new XML(); xm.ignoreWhite = true; xm.onLoad = function() { for (var i=0; i<this.childNodes.length; i++) { var news = this.childNodes[i]; eintrag[i] = new Object(); eintrag[i].datum = news.childNodes[0].firstChild; eintrag[i].titel = news.childNodes[1].firstChild; eintrag[i].inhalt = news.childNodes[2].firstChild; } // Hier kannst Du mit den Daten weitermachen. // Du hast Nun ein Array (eintrag) aus Objekten mit den // Eigenschaften "datum", "titel" und "inhalt. // eintrag[0].titel gibt dann z.B. die Headline des ersten News-Tags aus. } xm.load("news.xml");
Du wirst allerdings nicht umhin kommen, Die die nötigen Grundlagen anzueignen, um nicht für jeden neuen Schritt eine Komplettvorlage verlangen zu müssen ...
Gruß
.
-
Hallo Tobias,
Dankeschön für die Antwort.
Was meinst du mit Grundlagen?
Allgemeines was XML betrifft oder AS?
Wahrscheinlich beides :-D
Ja da hast du wohl recht.
Ich hab mir zwar ein Buch zugelegt und es
ist wirklich sehr nett beschrieben (Actionscript aktuell zu Flash 8 von galileo Design),
aber es geht mir einfach zu langsam.
Zu oft treffe ich da auf Dinge die ich eben schon kenne...
Klar gibts auch Dinge die mir Fremd waren und auf die man einfach beim Try and Error Prinzip nicht drauf kommt. Ich werds wohl mal durchwälzen.
Aber Lücken sind da, stimmt schon.
Jedenfalls danke ich dir und luke für Eure Antworten.
So wie das Script nun aussieht kann ich ein Array nach dem anderen ausgeben.
Mein nächster Schritt wird nun sein die Werte miteinander zu verketten und untereinander auszugeben. So müsste ich eine Navigation einbauen die einen zähler inkrementiert und dann die News einzeln hochzählt. Aber das werd ich mal selbst versuchen.
Jedenfalls bedanke ich mich für Eure freundliche Unterstützung und Hilfe.
Besten Gruß,
Mike
Ähnliche Themen
-
Methode um DVD in Premiere Pro zu importieren
Von multimolti im Forum Videoschnitt, Videotechnik & -produktionAntworten: 14Letzter Beitrag: 10.03.09, 00:04 -
Reinen Text einer Website auslesen
Von VBMichi im Forum Coders TalkAntworten: 3Letzter Beitrag: 27.12.07, 01:03 -
Wie am besten von Inventor nach 3ds max importieren?
Von Arthy im Forum 3D Studio MaxAntworten: 2Letzter Beitrag: 03.03.06, 03:21 -
HTML-Text in reinen Text formatieren
Von BugsBastard im Forum JavaAntworten: 6Letzter Beitrag: 21.02.06, 14:25 -
Reinen Text aus HTML/JSP extrahieren
Von Vatar im Forum JavaAntworten: 1Letzter Beitrag: 02.09.05, 15:57





Zitieren
Login





