ios如何从 xml 中提取 html 文本?(分析器狂喜 XML,目的 C 语言)

发布时间: 2017/3/23 3:02:28
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

它与 xml 解析器,提取 html 文本是否可能?

在详细地解释︰ 我有这个简单的 xml

<?xml version="1.0" encoding="iso-8859-1"?>
<eventi>
<evento><id_evento>4553</id_evento><descrizione>Lorem Ipsum<a href='http://www.yea.it/yea.asp' target='_blank'><span class='U'>Vai alla pagina di gioco</span></a></descrizione></evento>
</eventi>

和我解析 XML,狂喜地为 IOS 开发应用程序时。当我做

rootXML = [RXMLElement elementFromURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", indXMLdettaglioEvento, idElemento]]];
[rootXML iterateWithRootXPath:@"//evento" usingBlock: ^(RXMLElement *datiXML) {
      NSLog(@"%@",[datiXML child:@"descrizione"].text);;
]}

Nslog [datiXML child:@"descrizione"].text 返回的文本没有 html 标记。它是可能使它返回整个 html?

解决方法 1:

 [datiXML child:@"descrizione"]

返回已分析的 XML 项目具有 Lorem Ipsum 文本,但它也有儿童本身 ! 第一个子元素,我想你发现,将会为您链接锚 XML 项目︰

 [[dataiXML child::@"descrizione"] child: @"a"]  => XML item for link
 [[[dataiXML child::@"descrizione"] child: @"a"] child: @"span"] => XML item for span

因此,您需要遍历整个树来分析您的 xHTML — — 但你会觉得这一切都那里。

正如以前的评论者所说,大量有效的 HTML 页面不是有效的 XML。和很多的"工作"不是有效的 HTML 页面 ! 所以这不是一个好的策略,用于编写 Web 浏览器。但这是不我们在做什么在这里;如果你说话的服务为您提供 XML,它很有道理,使用 XML 解析器来解析它 !

官方微信
官方QQ群
31647020