gpt4 book ai didi

iphone - 如何使用 TouchXML 或其他库解析 iPhone 上的 HTML?

转载 作者:行者123 更新时间:2023-12-03 19:41:51 26 4
gpt4 key购买 nike

我有一个从外部服务器加载的脏 HTML 代码(因此我无法创建 json 文件或清理 html 代码)。我的 HTML 结构如下:

<!-- SOME DIRTY HTML, CSS, JS, AND OTHER STUFF -->

<div class="pic"> ... </div>

<div class="pic" id="pic311809">

<input type="hidden" class="pic_id" name="pic_id" value="311809" />

<!-- tylko komixxy.pl -->
<div style="font-family: verdana, arial, helvetica, sans-serif; font-weight: bold; font-size: 9px;">
<a href="pic/show_series/1">FFFUUU (rageman)</a>
</div>

<h1 class="picture">Kochana babcia</h1>

<div class="infobar">
Wrzucone 15 października 2010 o 16:03 przez <a href="/user/Astraly">Astraly</a>
|
<a href="http://komixxy.pl/311809/Kochana-babcia#comments">Skomentuj (23)</a>
<!-- głosowanie przeniesione pod spód obrazka -->
</div><!-- .infobar -->


<div class="pic_image">
<a href="http://komixxy.pl/311809/Kochana-babcia"><img src="http://staticrps.komixxy.pl/uimages/201010/1287151388_by_Astraly_500.jpg" class="pic" alt="Kochana babcia - Wnusiu, a ty jeszcze nie w szkole? Dziś mamy na 10 babciu Co ty tam majaczysz? Jesteś na wagarach!? już ja to powiem twojej mamie! Ale babciu.... Przynosisz nam wstyd! Myślisz, że nie wiem o tej ostatniej niedzieli, w której nie byłeś u komunii? ZAMKNIJ SIĘ KU**A!!!! .... Nie musisz tak krzyczeć! Powiem twojej mamie z jakim tonem odnosisz się do mnie! " /></a> </div><!-- .pic_image -->

<div class="source">Źródło: Kto mieszka z babcią, ten wie jak to jest ;)</div>

<!-- głosowanie i ocena -->

<div class="source">

<div class="infobar center">

Głosuj:

<a href="/pic/vote/311809/up"
onclick="votowanie(this); return false;"
class="vote voteup iconlink"
>
mocne ↑ </a>

&middot;

<a href="/pic/vote/311809/down"
onclick="votowanie(this); return false;"
class="vote votedown iconlink"
>
słabe ↓ </a>


<!-- DODATKOWY PRZYCISK RAPORTOWANIA DUPLIKATÓW (“BYŁO”) -->

|

<span class="points">
87% mocnych
</span>

<span class="count">
z 1291 głosów
</span>

<span class="vote_result"></span>

| <a href="/user/add_favorite/311809" class="favorite">Do ulubionych</a>


</div><!-- .infobar -->

<!-- PRZYCISK LAJKONIKA -->
<div style="text-align: center;">
<fb:like href="http://komixxy.pl/311809/Kochana-babcia"
layout="button_count"
show_faces="true"
width="130"
font="arial"
style="width: 130px;">
</fb:like>
</div>

<!-- tylko komixxy.pl -->
<a href="http://komixxy.pl/pic/show_group/311809" class="picbutton">Pokaż podobne komixxy</a> <a href="http://komixxy.pl/przerob/311809" class="picbutton">Zrób własną wersję</a>
<div style="clear: both;"></div>

</div><!-- .source -->



</div><!-- .pic -->

<div class="pic"> ... </div>

<div class="pic"> ... </div>

<div class="pic"> ... </div>

我想选择全部<div class="pic" id="*">通过使用 xPath //div[@class='pic'][@id] .

这是我使用的两个库:

- Hpple
- TouchXML

至于 Hpple -> 它很棒,但我无法选择 innerHTML一种电解质。至于 TouchXML,我用它来解析 XML,它非常棒。但它无法解析脏 HTML - 我收到了几十个错误。

有没有办法在 iOS5 中使用 TouchXML 解析此 HTML?它可以是不同的库,但我更喜欢那个。

我听说过一些关于 CTidy.h 的事情我按照指示做了,但没有任何改变......

最佳答案

libxml 有一个专门针对这个问题设计的模块:)

http://xmlsoft.org/html/libxml-HTMLparser.html

它的工作原理与 libxml normally works 完全相同即解析包含脏 html 的 NSData 对象:

#include <libxml/htmlparser.h>

htmlDocPtr doc; /* the resulting document tree */
doc = htmlReadMemory([data bytes], [data length], "noname.xml", NULL, HTML_PARSE_RECOVER | HTML_PARSE_NOWARNING | HTML_PARSE_NOERROR);
if (NULL == doc)
return nil;

... parse DOM here ...

xmlFreeDoc(doc);

与其网站上的 libxml 示例相比:

xmlDocPtr doc; /* the resulting document tree */
doc = xmlReadMemory(content, length, "noname.xml", NULL, 0);
if (NULL == doc)
return nil;

... parse DOM here ...

xmlFreeDoc(doc);

PS 不要忘记将 libxml2.dylib 作为 'link binary with libraries' 中的框架包含到您的项目中。项目构建阶段

关于iphone - 如何使用 TouchXML 或其他库解析 iPhone 上的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7840461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com