"XML, в основном я хочу обновить значения команд, но мне проще вставить новый массив в конец и просто удалить старый" - это может быть таким же простым, как
<?php
$foo = new SimpleXMLElement(getData());
foreach( $foo->xpath('teams/team[@name="Team A"]') as $t) {
$t->wins += 1;
}
echo $foo->asxml();
function getData() {
return <<< eox
<foo>
<teams>
<team name="Team A">
<played>0</played>
<wins>0</wins>
<draws>0</draws>
<looses>0</looses>
</team>
<team name="Team B">
<played>0</played>
<wins>0</wins>
<draws>0</draws>
<looses>0</looses>
</team>
</teams>
</foo>
eox;
}
печать
<?xml version="1.0"?>
<foo>
<teams>
<team name="Team A">
<played>0</played>
<wins>1</wins>
<draws>0</draws>
<looses>0</looses>
</team>
<team name="Team B">
<played>0</played>
<wins>0</wins>
<draws>0</draws>
<looses>0</looses>
</team>
</teams>
</foo>