xmlstarlet |Изменить XML. Что я делаю не так? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть простой XML (RSS-канал)

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>title</title>
  <link rel="self" href="http://ushakova.city/articles/feed/"/>
  <updated>2019-11-04T12:45:00Z</updated>
  <id>http://myurl/articles/feed/?dt=2019-11-04T12:45:00Z</id>
  <entry>
    <id>http://myurl/articles/117/</id>
    <link rel="alternate" type="text/html" href="https://yandex.ru/news/story/V_Tyumenskom_rajone_vybirayut_luchshego_pomoshhnika_vospitatelya--5d543025944f00fecce8c11031573354?lang=ru&amp;amp;from=rss&amp;amp;stid=cF2eQWK2DdnB"/>
    <author>
      <name/>
    </author>
    <published>2019-11-04T12:45:00Z</published>
    <updated>2019-11-04T12:45:00Z</updated>
    <title type="html"><![CDATA[В Тюменском районе выбирают лучшего помощника воспитателя]]></title>
    <content type="html"><![CDATA[]]></content>
  </entry>
</feed>

проверить

xmlstarlet val _1.xml 
_1.xml - valid

увидеть структуру

xmlstarlet el _1.xml 

feed
feed/title
feed/link
feed/updated
feed/id
feed/entry
feed/entry/id
feed/entry/link
feed/entry/author
feed/entry/author/name
feed/entry/published
feed/entry/updated
feed/entry/title
feed/entry/content

попробуйте удалить раздел

xmlstarlet ed -d "//entry" _1.xml
xmlstarlet ed -d "/feed/entry" _1.xml

и ничего .. У меня есть несколько вопросов.

  1. что я делаю не так?
  2. Как удалить раздел?
  3. Как удалить раздел, если ссылка / @ href не началась с http://myurl
...