variable aus xml lesen

ali-gator

Erfahrenes Mitglied
Hi!

ich habe ein XML Datei:
Code:
<data title="Test">
	<class value="100" />
	<class value="100" />
	<class value="20" />
	<class value="70" />
	<class value="32" />
	<class value="368" />
	<class value="2" />
	<class value="130" />
	<class value="68" />
	<class value="210" />
	<class value="70" />
	<class value="165" />
	<class value="68" />
	<class value="0" />
	<class value="12" />
	<class value="150" />
	<class value="80" />
	<class value="220" />
	<class value="134" />
	<class value="69" />
	<class value="20" />
</data>

und die wird in einem Flash mit diesem Script ausgelesen:

Code:
var _data = new Array();
var _datahigh = new Array();
var _title = "";
var xm = new XML();
xm.ignoreWhite = true;
xm.onLoad = function() {
	parse(this);
};
xm.load("data.xml");
function parse(datei) {
	_title = datei.firstChild.attributes.title;
	datei = datei.firstChild.childNodes;
	for (var i = 0; i<datei.length; i++) {
		_data[i] = new Object();
		_data[i]._value = parseInt(datei[i].attributes.value, 10);
		_datahigh[i] = new Object();
		_datahigh[i]._value = parseInt(datei[i].attributes.value, 10);
	}
	_datahigh.sort(byValue);
	diagramm.paint(_title, _data);
	diagramm2.paint(_title, _datahigh);
}

function byValue(o1, o2) {
	var v1 = o1._value;
	var v2 = o2._value;
	if (v1 > v2) {
		return -1;
	} else if (v2 > v1) {
		return 1;
	} else {
		return 0;
	}
}
(ist übrigens von Datic ;))

So nun will ich in die XML noch eine Variable hinzufügen, die allerdings nicht mit den value variablen verarbeitet werden soll. Diese Variable soll die Anzahl der Werte angeben und sie wird vorher mit php definiert. Da ich von XML nicht viel Ahnung hab (auch nicht im Bezug auf Flash) hab ich keine Ahnung wie ich das anstellen soll....
Kann mir da jemand helfen?!
mfg
 
Hi,

so was:
Code:
// in der XML-Datei:
<class value="100" anzahl="74" />
...

Code:
Flash, in der Funktion "parse":
for (var i = 0; i<datei.length; i++) {
	_data[i] = new Object();
	_data[i]._value = parseInt(datei[i].attributes.value, 10);
	_datahigh[i] = new Object();
	_datahigh[i]._value = parseInt(datei[i].attributes.value, 10);
	_datahigh[i]._anzahl = parseInt(datei[i].attributes.anzahl, 10);
}

Gruß
.
 
hmm, so hab ichs ned gemeint.
ich meine dass man komplett von den anderen werten eine variable ausliest, wenn ich jetzt nämlich z.b. ein neues class objekt mach:

<class anzahl = "100" />

dann tut er bei meinem flash, das als wert für das diagramm mitnehmen...
ich brauch aber eine variable die komplett unabhängig von den anderen variablen ausgelesen wird.
 
Hi,

verstehe ich das recht, dass Du unterschiedliche Knoten erstellen willst, die getrennt voneinander bearbeitet werden? Schau mal in die Referenz unter XMLNode.nodeName - das sollte Dir weiterhelfen. ;)

Gruß
.
 

Neue Beiträge

Zurück