![]() |
работа с XML файлом
Есть xml файл, следующего содержания:
Код:
<?xml version="1.0" encoding="utf-8"?> Цифры заключенные в теге code(в данном случае 500), так же варьируются(например 200, 250, 400, 500, 2000 и т.д.) Задача: Заменить из командной строки, цифры заключённые в теге code на 100 Если указывать явно, что на что менять то проблем нет. Но я не всегда заранее знаю, что в этом файле. А вот так что-бы заменить Код:
<code>???</code> Не помог ни sed for Windows(хотя с ним я возможно не разобрался как следует, но уже сил не хватило моральных) ни CHGSTR.EXE(последний позволяет задать параметры поиска только для всей строки. а менять дату в этой строке нельзя.) Спасибо. |
taravasya,
Код:
@echo off |
Ох..... Спасибо. Уже не в первый раз выручаете. Сам бы, ни за что не составил бы такой скрипт....
Теперь остаётся прочитать Test_output.xml, и заменить его содержимым, содержимое Test.xml. С этим я думаю справлюсь. Ещё раз спасибо. |
Приветствую!
У меня схожая задача, поэтому надеюсь добрые люди здесь помогут. Дано: XML файл. В нём есть строка <UserId>OFFICE\Admin</UserId> и нужно написать bat файл для автоматического редактирования OFFICE\Admin на имя ПК и имя текущего пользователя. Какие в таком случае нужно использовать переменные? Я второй день постигаю искусство написания скриптов. Вчера написал свой первый скрипт по пересозданию задания планировщика задач Windows. Прошу помощи. |
Nike-jersey,
если ничего "экзотического" в строках нет, будет работать и это: Код:
@echo off |
Самый простой способ разбора xml из командной строки - использовать xmlstarlet:
Код:
xml -L -u "/process/code" -v 1000 logged.xml |
greg zakharov, речь про это: XMLStarlet - Wikipedia? Я не работал. Как он Вам показался?
|
Iska, речь именно о нем. Кто бы что о нем не говорил, вещь очень хорошая. Если в трех словах - sed для xml. И этим, в общем-то, все сказано. Плохо, правда, что под Windows из исходников собирается с полпинка.
|
greg zakharov, спасибо, ясно.
|
Вложений: 2
Цитата:
Стало Я попытался разобраться, что-то сложно. |
Nike-jersey, Вы бы привели пример файла. Примерное решение будет таким:
Код:
@echo off |
greg zakharov, не, я конечно, понимаю тягу к изыскам, но не настолько же неуёмным: то, что оригинальный файл в итоге так и остаётся с дополнительным потоком, не есть хорошо и правильно.
|
Iska, при перезаписи основного потока ADS затирается. Если нет, загляните в групповые политики.
|
|
Iska, очепятка. Бывает.
|
greg zakharov, ясно. Бывает. Сам только вчера в выложенном коде по недосмотру отладочную строку оставил.
|
Iska, спасибо за проявленную бдительность.
|
Цитата:
<UserId>Domain\User</UserId> |
Цитата:
|
Время: 22:01. |
Время: 22:01.
© OSzone.net 2001-