Servus!
Folgende Sache: Ich hab versucht mit dem ESTK auf dem InDesign CS5 Server eine Dummy-XML auszulesen, mit folgendem kleinen Script:
var myXmlFile = new File("../path/blubb.xml");
var myContent;
myXmlFile.open("r", undefined, undefined);
while(!myXmlFile.eof)
{
myContent = myXmlFile.read();
var xml_value = myContent.childNodes[0].getElementsByTagName('ROOT').nodeValue;
//var xml_value = myContent.getElementsByTagName('ROOT').item(0).firstChild.nodeValue;
alert(xml_value);
}
Die XML sieht folgendermaßen aus:
blubb
bla
Wenn ich mir nun die Variable "myContent" ausgeben lasse, bekomm ich im Terminal die gesamte XML angezeigt und in der Console im ESTK steht "Execution finished. Ergebnis: undefined". (Wieso eigentlich unfinished?! Wird doch richtig angezeigt...)
Jedenfalls hab ich versucht mir paar Values, bzw Knoten ausgeben zu lassen mit verschiedenen Funktionen aus verschiedenen Javascript-XML-Tutorials, aber jedesmal kommt der Fehler "myContent.getElementsByTagName is not a function" (oder halt so ähnlich, jenachdem welche Funktion ich anwenden wollte).
Also hab ich ein bisschen ohne die Funktionen rumgebastelt, so zum beispiel so:
var xml_value = myContent.item[0];
oder in anderen Zusammensetzungen mit "firstChild", "item[x]" und "nodeValue", aber da erhalt ich jedesmal die Fehlermeldung "undefined is not an object".
Kann mir irgendjemand einen Tipp geben wie ich auf die Knotenpunkte, bzw. Daten der XML zugreifen kann? Ich bin PHP-Entwickler, hab also vorher noch nie mit InDesign Server oder Javascript in dieser ZUsammensetzung gearbeitet und irgendeinen bösen Denkfehler muss ich ja gemacht haben, wenn aus x Quellen nichts funktioniert...
Ich hab eigentlich vor XML's von CS2-Dokumenten zu parsen und daraus neue CS5-Dokumente zu generieren mit neuem Design, etc. Aber häng eben schon am ersten Schritt, dem XML parsen. =(
Vielen Dank schonmal im Vorraus!
Gruß
Sybriz