/////////////////////////////////////////////////////////////////////////// // Copyright (C) Wizardry and Steamworks 2011 - License: GNU GPLv3 // // Please see: http://www.gnu.org/licenses/gpl.html for legal details, // // rights of fair usage, the disclaimer and warranty conditions. // /////////////////////////////////////////////////////////////////////////// string wasStAX_GetNodeValue(string xmlStream, string node) { list stream = llParseString2List(xmlStream, [" "], ["<", ">", "/"]); integer size = llGetListLength(stream); list StAX = []; string value = ""; integer ptr = 0; do { string current = llList2String(stream, ptr); string lookback = llList2String(stream, ptr-1); if(current != "/" && lookback == "<") { StAX += current; jump next_tag; } if(lookback == "/") { StAX = llDeleteSubList(StAX, -1, -1); jump next_tag; } if(current != ">" && current != "/" && current != "<") if(llList2String(StAX,llGetListLength(StAX)-1) == node) value += current + " "; @next_tag; } while(++ptr