Получить строку вместо источника - Xcode Cocoa - PullRequest
1 голос
/ 23 апреля 2010

У меня есть программа, которая сканирует содержимое веб-сайта и отображает его в текстовом поле. Проблема в том, что он показывает источник HTML. Например, если мой HTML-код был:

<html>
<body>

<p>Hello</p>

</body>
</html>

вместо того, чтобы просто показывать привет,

покажет код выше ...

Как мне заставить мою целевую программу c просто прочитать привет, а не html-источник? Я предполагал, что это была кодировка при чтении сайта, но я могу ошибаться ..

Я был бы очень признателен, если бы кто-нибудь дал мне разумный ответ ..

С наилучшими пожеланиями,

Кевин

Ответы [ 4 ]

2 голосов
/ 24 апреля 2010

Если вы хотите отобразить веб-страницу, используйте WebKit. Если вы хотите удалить теги xml, используйте NSXMLParser. Некоторый html является действительным xml, но это зависит. HTML - это просто текст, если вы не используете что-то, предназначенное для его анализа.

1 голос
/ 23 апреля 2010

Насколько я знаю, в какао нет ничего встроенного для этого. Вы должны будете реализовать свой собственный анализатор HTML, чтобы читать код и выплевывать текст. Я бы сделал это, либо найдя другие реализации в Интернете и адаптировав их для какао, так как это дало бы вам большой опыт работы с языком, либо вы могли бы методом проб и ошибок и выучить некоторые регулярные выражения. Эта конкретная библиотека для Java, но это должен быть простой порт для какао / c http://htmlparser.sourceforge.net/

Видимо, вы можете "привести в порядок" HTML, а затем использовать анализатор XML http://tidy.sourceforge.net/ Однако существует синтаксический анализатор XML (HTML является подмножеством), и вы можете использовать его для получения необходимой информации. http://expatobjc.sourceforge.net/

0 голосов
/ 24 апреля 2010

Просто используйте regex для удаления тегов, выполните поиск в Google, чтобы найти ответ

0 голосов
/ 23 апреля 2010

Если бы это меня обернуло, я написал бы на веб-сервере скрипт, скажем, php, который обрабатывает разбор текста на веб-странице. В php есть множество встроенных функций, таких как strip_tags(), которые обрабатывают удаление тегов html из строки.

Так что вся тяжелая работа будет выполняться в скрипте php. Тогда ваше приложение для iPhone (если оно предназначено для iphone по вашим тегам) просто отправит URL-адрес, который вы хотите проанализировать в вашем php-скрипте, и затем вернет вам текст.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...