<script>
var re;
var parentnode = "buildset"
var newnode = "number"
var newvalue = "30"
var wherenode = "setobject"
var wherevalue = "SetPerson"
var sWhereNode = "<" + wherenode + ">" + wherevalue + "<\\/" + wherenode + ">";
var openParentNode = "<" + parentnode + ">";
var endParentNode = "<\\/" + parentnode + ">";
var openNewNode = "<" + newnode + ">";
var endNewNode = "<\\/" + newnode + ">";
var normString = "(" + openParentNode + ".*" + sWhereNode + ".*" + openNewNode + ").*(" + endNewNode + ".*" + endParentNode + ")"
re = new RegExp(normString);
//You'll need to unwrap this long string
xml = "<buildsets><setsname>View</setsname><buildset>
<setobject>SetPerson</setobject><setname>Person</setname>
<number>0</number><selected>true</selected></buildset>
<buildset><setobject>SetPosition</setobject><setname>Position</setname>
<number>0</number><selected>false</selected></buildset><buildset>
<setobject>SetJob</setobject><setname>Job</setname><number>0</number>
<selected>false</selected></buildset><buildset>
<setobject>SetOrganisationalUnit</setobject>
<setname>OrganisationalUnit</setname>
<number>0</number><selected>false</selected>
</buildset><buildsets>";
xml = xml.replace(re, "$1" + newvalue + "$2");
alert(xml);
</script>