[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсер по XML (YML)
hausedark3
Здравствуйте, подскажите пожалуйста с чего начать написание парсера XML файла, вот пример файла:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2015-02-25 21:15"><!-- number=19790 -->
<shop>
<name>
My-shop.ru</name>
<company>
ООО Мой магазин;</company>
<url>
http://my-shop.ru/</url>
<currencies>
<currency
id="RUR" rate="1"/>
<currency
id="USD" rate="CBRF"/>
<currency
id="EUR" rate="CBRF"/>
</currencies>
<categories>
<category
id="1" parentId="0">Музыка</category>
<category
id="2" parentId="0">Видео</category>
</categories>
<offers>
<offer
id="142580" type="book" available="true">
<url>
http://my-shop.ru/shop/books/142580.html</url>
<price>
47</price>
<currencyId>
RUR</currencyId>
<categoryId>
1</categoryId>
<picture>
http://static.my-shop.ru/product/2/15/142580.jpg</picture>
<author>
Маленкова Л.И.</author>
<name>
Классный руководитель (воспитатель): педагогические основы и методика деятельности. Гриф УМО МО РФ</name>
<publisher>
Педагогическое общество России</publisher>
<series>
Воспитать человека</series>
<year>
2005</year>
<ISBN>
5-93134-311-3</ISBN>
<volume>
1</volume>
<description>
Настоящий вкладыш к тетради классного руководителя (воспитателя) является руководством для педагогов, работающих с тетрадью. В нем кратко изложены основы теории и методики организации воспитательного процесса, даны конкретные рекомендации классному воспитателю. На его основе составлена третья часть методического комплекса «Воспитать человека» — «Содержание воспитания современного школьника».</description>
<availabilityCode>
2</availabilityCode>
<rating>
34</rating>
<md5>
5a887471e9b253e59848980d9efb79a3</md5>
<cover>
мягкая обложка</cover>
<pages>
31</pages>
</offer>
<offer
id="142587" type="book" available="true">
<url>
http://my-shop.ru/shop/books/142587.html</url>
<price>
31</price>
<currencyId>
RUR</currencyId>
<categoryId>
2</categoryId>
<picture>
http://static.my-shop.ru/product/2/15/142587.jpg</picture>
<author>
Еремина О.А.</author>
<name>
Я выучу словарные слова. 3 класс</name>
<publisher>
Грамотей</publisher>
<series>
Начальная школа</series>
<year>
2005</year>
<ISBN>
5-89769-089-8,978-5-89769-089-3</ISBN>
<volume>
1</volume>
<description>
В данном пособии предложены упражнения, которые соответствуют основным темам третьего класса и включают в себя слова "Орфографического словарика". Эти упражнения помогут повторить темы учебника и закрепить правописание орфографически-сложных слов. Словарные слова выделены жирным шрифтом. В конце книги для педагогов и родителей даны ключи к загадкам и кроссвордам и алфавитный указатель с номерами упражнений, в которых используются словарные слова.</description>
<availabilityCode>
2</availabilityCode>
<rating>
465</rating>
<md5>
64d7e5b8eb1637ec097673f653266af4</md5>
<cover>
мягкая обложка</cover>
<pages>
128</pages>
</offer>
</offers>
</shop>
</yml_catalog>


В его нужно пропарсить и сразу внести изменение из тега <url> взять значение и подставить в <dicription> гипер ссылкой со своим "alt" в конечном итоге получилось что то вроде:

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2015-02-25 21:15"><!-- number=19790 -->
<shop>
<name>
My-shop.ru</name>
<company>
ООО Мой магазин;</company>
<url>
http://my-shop.ru/</url>
<currencies>
<currency
id="RUR" rate="1"/>
<currency
id="USD" rate="CBRF"/>
<currency
id="EUR" rate="CBRF"/>
</currencies>
<categories>
<category
id="1" parentId="0">Музыка</category>
<category
id="2" parentId="0">Видео</category>
</categories>
<offers>
<offer
id="142580" type="book" available="true">
<url>
http://my-shop.ru/shop/books/142580.html</url>
<price>
47</price>
<currencyId>
RUR</currencyId>
<categoryId>
1</categoryId>
<picture>
http://static.my-shop.ru/product/2/15/142580.jpg</picture>
<author>
Маленкова Л.И.</author>
<name>
Классный руководитель (воспитатель): педагогические основы и методика деятельности. Гриф УМО МО РФ</name>
<publisher>
Педагогическое общество России</publisher>
<series>
Воспитать человека</series>
<year>
2005</year>
<ISBN>
5-93134-311-3</ISBN>
<volume>
1</volume>
<description><a
href="http://my-shop.ru/shop/books/142580.html?partner=6743" alt="Купить">Настоящий вкладыш к тетради классного руководителя (воспитателя) является руководством для педагогов, работающих с тетрадью. В нем кратко изложены основы теории и методики организации воспитательного процесса, даны конкретные рекомендации классному воспитателю. На его основе составлена третья часть методического комплекса «Воспитать человека» — «Содержание воспитания современного школьника».</description>
<availabilityCode>
2</availabilityCode>
<rating>
34</rating>
<md5>
5a887471e9b253e59848980d9efb79a3</md5>
<cover>
мягкая обложка</cover>
<pages>
31</pages>
</offer>
<offer
id="142587" type="book" available="true">
<url>
http://my-shop.ru/shop/books/142587.html</url>
<price>
31</price>
<currencyId>
RUR</currencyId>
<categoryId>
2</categoryId>
<picture>
http://static.my-shop.ru/product/2/15/142587.jpg</picture>
<author>
Еремина О.А.</author>
<name>
Я выучу словарные слова. 3 класс</name>
<publisher>
Грамотей</publisher>
<series>
Начальная школа</series>
<year>
2005</year>
<ISBN>
5-89769-089-8,978-5-89769-089-3</ISBN>
<volume>
1</volume>
<description><a
href="http://my-shop.ru/shop/books/142587.html?partner=6743" alt="Купить">В данном пособии предложены упражнения, которые соответствуют основным темам третьего класса и включают в себя слова "Орфографического словарика". Эти упражнения помогут повторить темы учебника и закрепить правописание орфографически-сложных слов. Словарные слова выделены жирным шрифтом. В конце книги для педагогов и родителей даны ключи к загадкам и кроссвордам и алфавитный указатель с номерами упражнений, в которых используются словарные слова.</description>
<availabilityCode>
2</availabilityCode>
<rating>
465</rating>
<md5>
64d7e5b8eb1637ec097673f653266af4</md5>
<cover>
мягкая обложка</cover>
<pages>
128</pages>
</offer>
</offers>
</shop>
</yml_catalog>


Или как эту задачу проще сделать? может готовый софт есть? Сам файл который нужно обрабатывать весит более 700Мбайт
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.