"Несоответствие открывающего и заканчивающего тегов" в `xmlstarlet sel` - PullRequest
0 голосов
/ 02 ноября 2019

http://doi.cnki.net/Resolution/Handler?doi=10.13345/j.cjb.180087

Когда я запускаю xmlstarlet sel -t -v '//i[@class = "iconSucc"]/@class' для следующего файла, я получаю следующие сообщения об ошибках. Кто-нибудь знает, как решить проблему?

-:77.294: Opening and ending tag mismatch: img line 77 and a
 middle;" src="/Content/images/gongshangbiaoshi.gif" alt="" class="footpic"></a>
                                                                               ^
-:77.301: Opening and ending tag mismatch: a line 77 and span
;" src="/Content/images/gongshangbiaoshi.gif" alt="" class="footpic"></a></span>
                                                                               ^
-:77.332: Opening and ending tag mismatch: span line 77 and p
i.gif" alt="" class="footpic"></a></span><br />©2014-2018中国知网(CNKI) </p
                                                                               ^
-:79.15: Opening and ending tag mismatch: p line 74 and div
        </div>
              ^
-:92.8: Opening and ending tag mismatch: div line 61 and body
</body>
       ^
-:93.8: Opening and ending tag mismatch: body line 11 and html
</html>
       ^
-:94.1: Premature end of data in tag html line 2

^

1 Ответ

1 голос
/ 02 ноября 2019

Ваш HTML-файл не правильно сформирован . Элемент <img> в строке 77

<img style="height: 24px; border: 0px none; vertical-align: middle;" src="/Content/images/gongshangbiaoshi.gif" alt="" class="footpic" >

не закрыт. Добавьте закрывающий тег ... />, чтобы сделать его правильно сформированным :

<img style="height: 24px; border: 0px none; vertical-align: middle;" src="/Content/images/gongshangbiaoshi.gif" alt="" class="footpic" />

Тогда результат будет:

iconSucc

РЕДАКТИРОВАТЬ:

Используя xmllint, вы можете достичь результата с помощью одной команды:

xmllint -html -xmlout Handler.xml | xmlstarlet sel -t -v '//i[@class = "iconSucc"]/@class'
...