Как удалить узлы из HTML в iOS - PullRequest
       32

Как удалить узлы из HTML в iOS

0 голосов
/ 19 февраля 2012

Я пытаюсь загрузить веб-страницу в UIWebView. Проблема в том, что мне нужно выполнить некоторую предварительную обработку HTML, прежде чем отобразить его в веб-представлении.

UHWebview loadHTMLString работает медленно, когда html большой. Мне не нужно отображать полную страницу, поэтому я пытаюсь удалить некоторые html-узлы, прежде чем отображать их в веб-представлении, чтобы ускорить время загрузки.

Я не думаю, что использование регулярных выражений для этого является мудрой идеей. Я проверил NSXMLParser и TFHPPLE, но не смог найти способ удалить узлы из html-дерева, используя XPath или что-то в этом роде.

Я знаю, что могу сделать это с помощью Javascript, но это не решит мою проблему. У меня также нет контроля над сайтом, поэтому я не могу редактировать саму страницу.

Есть ли что-то простое, например deleteNodeUsingXPath или что-то еще

Приветствия и большое спасибо за вашу помощь заранее.

Ответы [ 2 ]

0 голосов
/ 21 декабря 2013

Существует инструмент под названием Objective-C-HTML-Parser , который будет делать то, что вы ищете. Документация тщательная, а реализация довольно проста.

По сути, вы берете свою строку HTML и создаете объект HTMLParser, которым затем можете манипулировать по своему усмотрению. Это очень мощная библиотека, которая в основном позволяет вам делать все, что вы хотите с HTML, с помощью простых в использовании API Objective-C.

Удачи!

0 голосов
/ 19 февраля 2012

Одно из возможных решений: создать прокси-сайт, который удаляет ненужные вещи.IPhone получает доступ к URL-адресу прокси-сайта.Прокси-сайт загружается с исходного сайта, удаляет ненужные материалы и отвечает оставшимися материалами.

...