Jag håller på med en XML-editor mha en editerbar iframe och javascript och har stött på ett litet problem. Jag behöver parsa en xml-sträng och få ut element och attribut.
Hmm... att parsa XML med regexp är nog inte direkt idiotsäkert... speciellt om det handlar om en XML-editor då användaren kan mata in vilken text som helst borde all välformad XML hanteras korrekt (och strängar som inte är välformade borde inte släppas igenom).
Du kan parsa XML med javascript genom att använda webbläsarens XML-tolk, då får du en DOM som har element och attribut som noder. Om dokumentet där skriptet körs är ett XML-dokument kan du använda .innerHTML, annars kan du kanske använda metoden parseFromString() på ett DOMParser-objekt, eller liknande.
Problemet med webbläsarens XML-tolk är att jag inte har ett fullständigt XML-dokument. Jag vill bara parsa starttaggen. Elementtext och sluttagg finns inte i strängen.
Är prefixet alltid samma? Isf kan du skriva in xmlns:foo="..." i strängen i samma veva som du byter ut > mot />, men om du inte vet prefixet (eller prefixen) så blir det svårare, då behöver du egentligen en XML parser utan stöd för namnrymder eller nåt...