Bekommen Wert von Knoten aus dem XML mit Schleife
Versuchen, Schleife, obwohl ich mit XML-Daten und zuordnen-text-Felder. Keine spezifische Fehler, aber ich bin mir ziemlich sicher, es hat etwas zu tun mit der Art und Weise, die ich bin Referenzierung der Daten und weisen Sie auf die .text box. Ich bin auch Probleme mit immer der Länge meiner xml-Datei, sodass ich weiß, wie viele Male eine Schleife. Bitte Helfen Sie. DANKE!
zunächst eine Zusammenfassung meiner XML:
<Worksheet>
<Row>
<Data>Last Name</Data>
<Data>First Name</Data>
<Data>Ext.</Data>
</Row>
<Row>
<Data>Smith</Data>
<Data>Liz</Data>
<Data>103</Data>
</Row>
<Row >
<Data>Johns</Data>
<Data>Jason</Data>
<Data>116</Data>
</Row>
<Row>
<Data>Potts</Data>
<Data>Cheryl</Data>
<Data>131</Data>
</Row>
</Worksheet>
Nun die AS3 sollte die Schleife Durchlaufen, und weisen Sie Werte aus der XML-Datei in text-Felder:
//AUSGABEN, die DER LÄNGE DES myXML -
for (i = 0; i < myXML.Worksheet.length(); i++){
trace(["in for loop" + i]);
//Create new text_holder from linked MC
var item:text_holder = new text_holder();
//add text holder to stage
scroll_box.addChild(item);
//JETZT WILL ICH WEISEN SIE DIE WERTE DER ERSTEN DREI DATEN-KNOTEN IN DIE SCHLAUFEN AKTUELLEN ZEILE, UM DYNAMISCHE TEXTFELDER
item.first_name.text = myXML.Worksheet.Row[i].Data[1];
item.last_name.text = myXML.Worksheet.Row[i].Data[0];
item.ext.text = myXML.Worksheet.Row[i].Data[2];
current_y_right = current_y_right + 131;
item.x = current_x_right;
item.y = current_y_right;
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier sind Sie. Verwenden
.text()
auf einem Knoten zu erhalten seinen Wert.Falls gewünscht (ich empfehle es), store-jeder Knoten in einem array oder ein Objekt außerhalb der Referenz.
verwenden:
oder wenn Arbeitsblatt ist der root-Knoten müssen Sie nur
aber Sie können auch verwenden,
wenn Sie dont sorgen sich, wie weit unten in der xml es ist verschachtelt.
Zunächst überspringen Sie den root-Knoten der Referenzierung von XML-Elementen. Also nicht myXML.Arbeitsblatt.Zeile[i], verwenden Sie stattdessen myXML.Zeile[i]. Zweitens (und in Anbetracht der bisherigen Kommentare), du bist Durchlaufen der Zeilen, so dass Sie brauchen, myXML.Zeile.Länge() anstelle von myXML.Arbeitsblatt.Länge().