Подскажите мне пожалуйста, как проще всего превратить файл txt в xml?
php у меня сейчас не установлен...
Спустя 6 минут, 16 секунд (19.03.2012 - 08:20) Игорь_Vasinsky написал(а):
1. Ознакомиться со структурой XML файлов http://ru.wikipedia.org/wiki/XML
2. Потом получить текстовый файл, разобрать его по нужным строкам
3. Создать и сохранить XML файл
2. Потом получить текстовый файл, разобрать его по нужным строкам
3. Создать и сохранить XML файл
Спустя 1 час, 14 минут, 24 секунды (19.03.2012 - 09:35) zvezda_t написал(а):
Игорь, вопрос был:
с помощью какой программы создать xml файл)
по другому как выполнить пункты 2 и 3
с помощью какой программы создать xml файл)
по другому как выполнить пункты 2 и 3

Спустя 4 минуты, 44 секунды (19.03.2012 - 09:40) Игорь_Vasinsky написал(а):
так ты просто создай строковую переменную с содержимым xml файла и
файл создастся и заполниться содержимым из $data
file_put_contents('mynewfile.xml', $data)
файл создастся и заполниться содержимым из $data
Спустя 17 минут, 32 секунды (19.03.2012 - 09:57) zvezda_t написал(а):
php у меня сейчас не установлен... !!!!
Спустя 25 минут, 17 секунд (19.03.2012 - 10:22) alexbel2404 написал(а):
тогда расширение поменяй с txt на xml )
Спустя 36 минут, 48 секунд (19.03.2012 - 10:59) zvezda_t написал(а):
похоже я не правильно рассказываю, что мне нужно)
Например, у меня есть текстовый документ и там данные:
1 Иванов Иван Иванович
2 Петров Петр Петрович
3 Фёдоров Фёдор Фёдорович
А мне нужно получить, xml:
<?xml version="1.0" encoding="windows-1251"?>
<root>
<row>
<NUM>1</NUM><LASTNAME>Иванов</LASTNAME><NAME>Иван</NAME><FATH ERNAME>Иванович</FATHERNAME>
</row>
<row>
<NUM>2</NUM><LASTNAME>Фёдоров</LASTNAME><NAME>Фёдор</NAME><FA THERNAME>Фёдорович</FATHERNAME>
</row>
<row>
<NUM>3</NUM><LASTNAME>Петров</LASTNAME><NAME>Петр</NAME><FATH ERNAME>Петрович</FATHERNAME>
</row>
</root>
Вот. Я понимаю что парсинг нужно написать, на php без проблем вообще.
Но не установлен у меня сейчас php, можно какую нибудь прогу посоветуете?
Так чтоб побыстрому её установить и по проще сделать...
Например, у меня есть текстовый документ и там данные:
1 Иванов Иван Иванович
2 Петров Петр Петрович
3 Фёдоров Фёдор Фёдорович
А мне нужно получить, xml:
<?xml version="1.0" encoding="windows-1251"?>
<root>
<row>
<NUM>1</NUM><LASTNAME>Иванов</LASTNAME><NAME>Иван</NAME><FATH ERNAME>Иванович</FATHERNAME>
</row>
<row>
<NUM>2</NUM><LASTNAME>Фёдоров</LASTNAME><NAME>Фёдор</NAME><FA THERNAME>Фёдорович</FATHERNAME>
</row>
<row>
<NUM>3</NUM><LASTNAME>Петров</LASTNAME><NAME>Петр</NAME><FATH ERNAME>Петрович</FATHERNAME>
</row>
</root>
Вот. Я понимаю что парсинг нужно написать, на php без проблем вообще.
Но не установлен у меня сейчас php, можно какую нибудь прогу посоветуете?
Так чтоб побыстрому её установить и по проще сделать...
Спустя 16 минут, 33 секунды (19.03.2012 - 11:16) twin написал(а):
Установи денвер или ирсис))). Похоже быстре будет.
Спустя 24 минуты, 18 секунд (19.03.2012 - 11:40) zvezda_t написал(а):
ирсис - уже мне нравится!
Где скачать?
Где скачать?
Спустя 7 минут, 59 секунд (19.03.2012 - 11:48) Visman написал(а):
http://irsys.ru/ наверное
Спустя 48 минут, 38 секунд (19.03.2012 - 12:37) ADiel написал(а):
@echo off
echo ^<?xml version="1.0" encoding="windows-1251"?^> > D:\result.xml
echo ^<root^> >> D:\result.xml
for /f "tokens=1,2,3,4 delims= " %%a in (D:\source.txt) do (
echo ^<row^> >> D:\result.xml
echo ^<NUM^>%%a^</NUM^>^<LASTNAME^>%%b^</LASTNAME^>^<NAME^>%%c^</NAME^>^<FATHERNAME^>%%d^</FATHERNAME^> >> D:\result.xml
echo ^</row^> >> D:\result.xml
)
echo ^</root^> >> D:\result.xml
Вот простой батник. D:\source.txt - исходные данные
D:\result.txt - результат в виде XML
И не пойму, нафиг PHP для таких нужд ставить?
результат работы скрипта:
<?xml version="1.0" encoding="windows-1251"?>
<root>
<row>
<NUM>1</NUM><LASTNAME>Иванов</LASTNAME><NAME>Иван</NAME><FATHERNAME>Иванович</FATHERNAME>
</row>
<row>
<NUM>2</NUM><LASTNAME>Петров</LASTNAME><NAME>Петр</NAME><FATHERNAME>Петрович</FATHERNAME>
</row>
<row>
<NUM>3</NUM><LASTNAME>Фёдоров</LASTNAME><NAME>Фёдор</NAME><FATHERNAME>Фёдорович</FATHERNAME>
</row>
</root>
Спустя 10 минут, 36 секунд (19.03.2012 - 12:47) zvezda_t написал(а):
ADiel Это гениально! Я в восторге)))) Спасибо тебе огромное)
таки здесь гениальные мужчины

таки здесь гениальные мужчины

Спустя 3 минуты, 51 секунда (19.03.2012 - 12:51) ADiel написал(а):
Мой первый скрипт на BAT
Много гуглил. Так что лучше много гуглить, чем много постить тем на форуме


Спустя 1 минута, 7 секунд (19.03.2012 - 12:52) ADiel написал(а):
Сейчас еще доработаю. Есть пара мыслей для улучшения =)
Спустя 3 минуты, 22 секунды (19.03.2012 - 12:56) zvezda_t написал(а):
Цитата |
Сейчас еще доработаю. Есть пара мыслей для улучшения =) |
Шикарно


Спустя 32 минуты, 15 секунд (19.03.2012 - 13:28) ADiel написал(а):
Хотел вынести ссылки на файлы, но не вышло
Почему то пишет, что неверный синтаксис файла.
ругается на echo ... > %DSTFILE%
set SRCFILE = D:\source.txt
set DSTFILE = D:\result.xml
Почему то пишет, что неверный синтаксис файла.
ругается на echo ... > %DSTFILE%
Спустя 9 минут, 52 секунды (19.03.2012 - 13:38) ADiel написал(а):
Не вышла модернизация. Ну ладно, и так работает. А может кто то знает, как сделать рабочий вариант с переменными?
Спустя 1 день, 49 минут, 25 секунд (20.03.2012 - 14:27) ADiel написал(а):
По просьбам трудящихся :)
@echo off
set D=%date:~0,2%
set M=%date:~3,2%
set Y=%date:~6,4%
set H=%time:~0,2%
set I=%time:~3,2%
set S=%time:~6,2%
set FILENAME=D:\result_%D%%M%%Y%_%H%%I%%S%.xml
@echo ^<?xml version="1.0" encoding="windows-1251"?^> > %FILENAME%
@echo ^<root^> >> %FILENAME%
for /f "tokens=1,2,3,4 delims= " %%a in (D:\source.txt) do (
@echo ^<row^> >> %FILENAME%
@echo ^<NUM^>%%a^</NUM^>^<LASTNAME^>%%b^</LASTNAME^>^<NAME^>%%c^</NAME^>^<FATHERNAME^>%%d^</FATHERNAME^> >> %FILENAME%
@echo ^</row^> >> %FILENAME%
)
@echo ^</root^> >> %FILENAME%
_____________
Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)