Uragan66
03-03-2020, 20:48
Всем добрый вечер!
Имеется телепрограмма в формате xml https://iptvx.one/EPG
Никак не получается распарсить xml до нужного формата...
Пример xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE tv SYSTEM "https://iptvx.one/xmltv.dtd">
<tv generator-info-name="IptvX.one" generator-info-url="https://iptvx.one/">
<channel id="no_epg"><display-name>NO EPG</display-name></channel>
<channel id="no_epg_cinema"><display-name>NO EPG Cinema</display-name></channel>
<channel id="no_epg_mult"><display-name>NO EPG Mult</display-name></channel>
<channel id="no_epg_music"><display-name>NO EPG Music</display-name></channel>
<channel id="no_epg_news"><display-name>NO EPG News</display-name></channel>
<channel id="no_epg_sport"><display-name>NO EPG Sport</display-name></channel>
<channel id="0x0-fireplace-hd"><display-name>Горящий камин</display-name><display-name>Ланет HOME</display-name><display-name>Lanet Home</display-name><display-name>0x0 Fireplace HD</display-name><icon src="https://iptvx.one/icn/kamin.png"/></channel>
<channel id="1-balt-ee"><display-name>PBK EE</display-name><display-name>PBK Эстония</display-name><display-name>Первый Балтийский канал Эстония</display-name><display-name>Первый Балтийский Эстония</display-name><icon src="https://iptvx.one/icn/1-balt.png"/></channel>
<channel id="1-balt-lt"><display-name>PBK LT</display-name><display-name>PBK Литва</display-name><display-name>Первый Балтийский канал Литва</display-name><display-name>Первый Балтийский Литва</display-name><icon src="https://iptvx.one/icn/1-balt.png"/></channel>
<channel id="1-balt-lv"><display-name>PBK LV</display-name><display-name>Pirmais Baltijas Kanāls</display-name><display-name>Первый Балтийский канал</display-name><display-name>Первый Балтийский</display-name><display-name>Первый Балтийский Латвия</display-name><icon src="https://iptvx.one/icn/1-balt.png"/></channel>
<channel id="1-music-hu"><display-name>1 Music Channel Hungary</display-name><icon src="https://iptvx.one/icn/1-music-hu.png"/></channel>
... и т.д.
</tv>
Таким кодом:
$a = Select-Xml -Path .\epg.xml -XPath //channel[@*]
$a.Node
получается таблица из id и привязанных к нему имён каналов, а ссылки на лого нет...
В идеале нужно получить 2 файла на выходе такого формата:
id.txt:
1-balt-ee,PBK EE
1-balt-ee,PBK Эстония
1-balt-ee,Первый Балтийский канал Эстония
1-balt-ee,Первый Балтийский Эстония
...
logo.txt:
https://iptvx.one/icn/1-balt.png,PBK EE
https://iptvx.one/icn/1-balt.png,PBK Эстония
https://iptvx.one/icn/1-balt.png,Первый Балтийский канал Эстония
https://iptvx.one/icn/1-balt.png,Первый Балтийский Эстония
...
Но это всё можно уже потом сделать заменами... А как добавить в таблицу ссылку на лого ? Подскажите, пожалуйста, кто в этой теме.
Имеется телепрограмма в формате xml https://iptvx.one/EPG
Никак не получается распарсить xml до нужного формата...
Пример xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE tv SYSTEM "https://iptvx.one/xmltv.dtd">
<tv generator-info-name="IptvX.one" generator-info-url="https://iptvx.one/">
<channel id="no_epg"><display-name>NO EPG</display-name></channel>
<channel id="no_epg_cinema"><display-name>NO EPG Cinema</display-name></channel>
<channel id="no_epg_mult"><display-name>NO EPG Mult</display-name></channel>
<channel id="no_epg_music"><display-name>NO EPG Music</display-name></channel>
<channel id="no_epg_news"><display-name>NO EPG News</display-name></channel>
<channel id="no_epg_sport"><display-name>NO EPG Sport</display-name></channel>
<channel id="0x0-fireplace-hd"><display-name>Горящий камин</display-name><display-name>Ланет HOME</display-name><display-name>Lanet Home</display-name><display-name>0x0 Fireplace HD</display-name><icon src="https://iptvx.one/icn/kamin.png"/></channel>
<channel id="1-balt-ee"><display-name>PBK EE</display-name><display-name>PBK Эстония</display-name><display-name>Первый Балтийский канал Эстония</display-name><display-name>Первый Балтийский Эстония</display-name><icon src="https://iptvx.one/icn/1-balt.png"/></channel>
<channel id="1-balt-lt"><display-name>PBK LT</display-name><display-name>PBK Литва</display-name><display-name>Первый Балтийский канал Литва</display-name><display-name>Первый Балтийский Литва</display-name><icon src="https://iptvx.one/icn/1-balt.png"/></channel>
<channel id="1-balt-lv"><display-name>PBK LV</display-name><display-name>Pirmais Baltijas Kanāls</display-name><display-name>Первый Балтийский канал</display-name><display-name>Первый Балтийский</display-name><display-name>Первый Балтийский Латвия</display-name><icon src="https://iptvx.one/icn/1-balt.png"/></channel>
<channel id="1-music-hu"><display-name>1 Music Channel Hungary</display-name><icon src="https://iptvx.one/icn/1-music-hu.png"/></channel>
... и т.д.
</tv>
Таким кодом:
$a = Select-Xml -Path .\epg.xml -XPath //channel[@*]
$a.Node
получается таблица из id и привязанных к нему имён каналов, а ссылки на лого нет...
В идеале нужно получить 2 файла на выходе такого формата:
id.txt:
1-balt-ee,PBK EE
1-balt-ee,PBK Эстония
1-balt-ee,Первый Балтийский канал Эстония
1-balt-ee,Первый Балтийский Эстония
...
logo.txt:
https://iptvx.one/icn/1-balt.png,PBK EE
https://iptvx.one/icn/1-balt.png,PBK Эстония
https://iptvx.one/icn/1-balt.png,Первый Балтийский канал Эстония
https://iptvx.one/icn/1-balt.png,Первый Балтийский Эстония
...
Но это всё можно уже потом сделать заменами... А как добавить в таблицу ссылку на лого ? Подскажите, пожалуйста, кто в этой теме.