Увеличить значение в xml на 1

    <?xml version="1.0" encoding="utf-8"?>
<provider>
    <id version="8">blbla_desk</id>
    <name>namedesk</name>
    ....

</provider>

Как в xml файле заменить значение id version на 1 больше, например текущее значение 8, то будет 9. если 20 то 21.


Ответы (2 шт):

Автор решения: Jug-IT

Решение на PHP:

<?php
$xmlString = '
<?xml version="1.0" encoding="utf-8"?>
<provider>
    <id version="8">blbla_desk</id>
    <name>namedesk</name>
</provider>
';
$xmlString_clear = preg_replace("/<\?xml.*\?>/i", "", $xmlString);
$xml = new SimpleXMLElement($xmlString_clear); 
echo $xml->id['version']+1;
?>
→ Ссылка
Автор решения: Daemon-5

Вот код для вывода нужной сформированной строки. А уж как запихать её в файл - задача много проще.

@echo off
call :num "<provider>"

setlocal  enabledelayedexpansion         
for /f tokens^=1-3*^ delims^=^" %%a in ('more +%num% text.xml^|find/i"<id version="')do (
set /a val=%num%+1

@rem Вывод строки
@echo %%a"!val!"%%c

)
endlocal
goto :EOF

@rem Процедура поиска номера строки по параметру-шаблону
:num
for /f "delims=:" %%a in ('findstr /n %1 text.xml') do set num=%%a
→ Ссылка