Как получить часть файла HTML? - PullRequest
1 голос
/ 10 сентября 2011

Я просто хочу получить часть веб-сайта во всех html-тегах:

<table></table>
...
<div><font>some <b>kind</b> of <i>individual</i> text I need</font></div>
...
<div>other things I don't need</div>

-> I only want this: <font>some <b>kind</b> of <i>individual</i> text I need</font>

Моя цель - показать эту часть жирным тэгом и изображениями в UIWebView. Я попробовал парсер XPath, но он пропустил теги, которые я хотел отобразить в веб-представлении. В Stackoverflow я нашел решение с помощью java-скрипта: extract-part-of-html-in-c-target-c , но я не знаю, как это могло бы помочь мне в моем приложении ios

Надеюсь, кто-нибудь может мне помочь

Ответы [ 2 ]

1 голос
/ 10 сентября 2011

Вы можете найти это полезным: (см. Демонстрацию в этой статье)

http://api.jquery.com/html/

Это почти все, что вам нужно, кроме части "сделать теги жирным"

обновление: включает получение контента с отдельного URL

http://api.jquery.com/jQuery.get/

$.get("http://www.website_i_need_to_parce.com", function(data){

  /// work with "data" variable as you work with "document"

  var htmlStr = data.html().find('#someDiv');

});

После этого вызова - htmlStr будет содержать содержимое div с id = "someDiv". Если вам нужно вставить это содержимое как html - используйте:

  $('#div_on_my_site_where_I_Want_to_paste_code').text(htmlStr);
0 голосов
/ 10 сентября 2011

Предположим, что узел контекста является родителем div, а div является первым div дочерним узлом контекста (Вы не предоставили полный исходный XML-код !!!), этоВыражение XPath выбирает нужные узлы :

div[1]/node()

Проверка на основе XSLT :

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="/t">
     <xsl:copy-of select="div[1]/node()"/>
 </xsl:template>
</xsl:stylesheet>

, когда это преобразование применяется к предоставленномуФрагмент XML (заключенный в один верхний узел, чтобы сделать его правильно сформированным документом XML):

<t>
    <table></table>
    ...    
    <div>
        <font>some 
            <b>kind</b> of 
            <i>individual</i> text I need
        </font>
    </div>
     ...    
    <div>other things I don't need</div>
</t>

желаемый, правильный результат получается :

<font>some 
            <b>kind</b> of 
            <i>individual</i> text I need
        </font>

Объяснение : Вышеуказанное выражение XPath выбирает все дочерние узлы первого div дочернего узла контекста.Это именно то, что нужно: все дочерние элементы div элемента, но исключая сам элемент div.

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