Увеличить значение в 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