Hallo Matti,
anbei ein Code-Beispiel für folgende XML Struktur. Bitte hinterfrage nicht die Sinnhaftigkeit der XML Struktur, die kann ich nicht beeinflussen. Das Problem entsteht, wenn eine große Anzahl von <line/> mit einander via id-Attribute verbunden sind. Wenn mehr als ca. 8000 line verknüpfte vorliegen, kommt es zur Meldung too much recursion.
<line id="a35" nextLine="a45"/>
<line id="a78" nextLine="a88"/>
<line id="a45" nextLine="a78"/>
<line id="a88"/>
const getAllLines = function(startLine){
let idList = [];
const _loop = function(line){
if(line.hasAttribute('id')) idList .push(line.getAttribute('id'));
if(line.hasAttribute('nextLine')) {
const nextID = line.getAttribute('nextLine');
const nextLine = document.getElementById(nextID );
if(!idList.includes(nextID) && nextLine) _loop(nextLine);
}
}
// beginne mit der Startlinie
_loop(startLine);
}
Gruß Michael