- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 touchXML 在 ios 中解析一个 xhtml 文件。我是第一次尝试。我在 XHTML 中有以下格式:
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" lang="en">
<head>
<meta http-equiv="default-style" content="text/html; charset=utf-8"/>
<title>Contents</title>
<link rel="stylesheet" href="css/igp-widget-world.css" type="text/css"/>
</head>
<body>
<nav epub:type="toc"><h2>Contents</h2>
<ol epub:type="list">
<li><a href="s001-BookTitlePage-01.xhtml">Widget World</a></li>
<li><a href="s002-Copyright-01.xhtml">Copyright</a></li>
<li><a href="s003-TableOfContents-01.xhtml">Contents</a></li>
<li><a href="s004-Introduction-01.xhtml">Introduction</a></li>
<li><a href="s005-Part-001.xhtml">PART 1: EVENTS AND COMMANDS</a></li>
<li><a href="s006-Topic-001.xhtml">1: Timeline Events</a></li>
<li><a href="s007-Topic-002.xhtml">2: Counter Events</a></li>
<li><a href="s008-Topic-003.xhtml">3: Sprite Events</a></li>
<li><a href="s009-Part-002.xhtml">PART 2: QUESTIONS AND ANSWERS</a></li>
<li><a href="s010-Topic-004.xhtml">4: QAA True-False</a></li>
<li><a href="s011-Topic-005.xhtml">5: QAA True-False Multi</a></li>
<li><a href="s012-Topic-006.xhtml">6: QAA-Multichoice</a></li>
<li><a href="s013-Topic-007.xhtml">7: QAA Multi-Response</a></li>
<li><a href="s014-Topic-008.xhtml">8: QAA Association</a></li>
<li><a href="s015-Topic-009.xhtml">9: QAA Sequence</a></li>
<li><a href="s016-Topic-010.xhtml">10: QAA-Textmatch</a></li>
<li><a href="s017-Topic-011.xhtml">11: QAA-Textmatch Multi</a></li>
<li><a href="s018-Topic-012.xhtml">12: QAA Sort Word</a></li>
<li><a href="s019-Topic-013.xhtml">13: QAA Set</a></li>
<li><a href="s020-Part-003.xhtml">PART 3: INTERACTIVE WIDGETS</a></li>
<li><a href="s021-Topic-014.xhtml">14: Widgets: Horizontal Sliding Panel</a></li>
<li><a href="s022-Topic-015.xhtml">15: Widgets: Vertical Sliding Panel</a></li>
<li><a href="s023-Topic-016.xhtml">16: Widgets: Horizontal Tutorial Panel</a></li>
<li><a href="s024-Topic-017.xhtml">17: Widgets: Vertical Tutorial Panel</a></li>
<li><a href="s025-Topic-018.xhtml">18: Widgets: Vertical Scrolling Panel</a></li>
<li><a href="s026-Topic-019.xhtml">19: Widgets: Horizontal Scrolling Panel</a></li>
<li><a href="s027-Topic-020.xhtml">20: Widgets: XY Scrolling Panel</a></li>
<li><a href="s028-Topic-021.xhtml">21: Widgets: Locked Panel</a></li>
<li><a href="s029-Topic-022.xhtml">22: Widgets: Popups</a></li>
<li><a href="s030-Topic-023.xhtml">23: Widgets: Reveal</a></li>
<li><a href="s031-Topic-024.xhtml">24: Widgets: PopUp Panel</a></li>
<li><a href="s032-Colophon-01.xhtml">Colophon</a></li>
</ol>
</nav>
</body>
</html>
这是我的 xhtml 文件。我实现如下:
CXMLDocument* xmlDoc = [[CXMLDocument alloc] initWithContentsOfURL:myURL options:0 error:nil];
NSString* xpath = [NSString stringWithFormat:@"//html:a[contains(@href,'%@')]/../html:a", myValue];
NSArray* navPoints = [ncxToc nodesForXPath:xpath namespaceMappings:[NSDictionary dictionaryWithObject:@"http://www.w3.org/1999/xhtml/" forKey:@"xhtml"] error:nil];
我正在尝试查找 <a>
的值其中 <a href =
我的值(value)。
我不确定我哪里错了,错误是:
XPath error : Undefined namespace prefix
XPath error : Invalid expression
比我改变 xpath 如下:
NSString* xpath = [NSString stringWithFormat:@"//html/a[contains(@href,'%@')]/../html/a", myValue];
:
替换为 /
.它没有像上面那样给我错误,但也没有得到我的内容。
我不知道 XPATH。在 XML 中我只知道 NSXMLParser
.请帮我确定这是哪里出了问题?
更新
作为到目前为止我得到的答案,我更新了我的代码并做了如下操作:
NSString* xpath = [NSString stringWithFormat:@"//html:a[@href = '%@']", href];
NSArray* navPoints = [ncxToc nodesForXPath:xpath namespaceMappings:[NSDictionary dictionaryWithObject:@"http://www.w3.org/1999/xhtml/" forKey:@"html"] error:nil];
和
NSString* xpath = [NSString stringWithFormat:@"//xhtml:a[@href = '%@']", href];
NSArray* navPoints = [ncxToc nodesForXPath:xpath namespaceMappings:[NSDictionary dictionaryWithObject:@"http://www.w3.org/1999/xhtml/" forKey:@"xhtml"] error:nil];
没有错误,但我得到了数组中的任何对象。我认为我的 XPath 不起作用。
更新 2
我得到的 Xpath 如下:
//xhtml:a[@href = 's001-BookTitlePage-01.xhtml']
or
//html:a[@href = 's001-BookTitlePage-01.xhtml']
还有当我尝试像这样的 xpath 时://html:a
即使我没有获得所有 anchor 标记。
** 更新 3**
我试图在线检查 XPath http://www.xpathtester.com/test
我在我的 XPath 上发现以下错误 //html:a
Exception occurred evaluting XPath: //html:a. Exception: XPath expression uses unbound namespace prefix html
不知道是什么意思
谢谢
最佳答案
//a[@href="s001-Cover-01.xhtml"]/text()
返回“封面”但是您的文档格式不正确:<body>
未关闭
关于iphone - ios 中带有 touchXML 的 XPath 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17206528/
我正在尝试通过 TouchXML 解析以下 XML: Some Description
我正在使用 Sudzc(它使用 TouchXML)来解析我的 Web 服务 WSDL,现在我正在使用具有几乎相同 WSDL 定义的多个 Web 服务。我编辑了我的代码以使用它,这是发生了什么: CXM
最近我听说 Apple 正在使用工具来搜索对未记录的 API 的引用,并因此拒绝将 iPhone 应用程序从 App Store 上架。 人气Three20框架导致人们被拒绝。 我也刚刚看到 Kiss
我尝试使用 TouchXML 解析下面显示的 HTML,但当我尝试提取某些属性时,它不断崩溃。我对解析器世界完全陌生,所以我为自己是一个十足的白痴而道歉。我需要帮助来解析此 HTML。我想要完成的是解
在我的 iPhone 项目中,我使用了 TouchXML 解析器。我想在 Android 中开发该项目。我是 Android 的新手,任何人都可以建议我应该使用的解析器。我只需要阅读 XML,不需要编
NSLog(@"Status: %@", [[[xmlElement elementsForName:@"status"] objectAtIndex:0] stringValue]);
我尝试使用 TouchXML 的 2 种不同实现,一种由 SudzC 提供,另一种由 TouchXML github repo 提供。 .它们之间有一点区别,主要在于 CXMLDocument 的初始
我正在尝试使用 SOAP 解析从我的 WebService 接收到的以下字符串。由于我无法解析从我的 Web 服务接收到的数据(我不知道为什么......请看这里 parsing XML using
如何使用 touchXML 解析此 XML?我想将所有属性作为键/值对存储在字典中。
我目前正在使用 NSXMLParser 方法来解析我的数据,如下所示:但我发现了一些不错的选择,例如 TouchXML 。 我在谷歌上搜索了一些很好的示例或教程 但是我无法理解 XPathquery
我面前有两个选项来解析非常大的 XML 文件, TouchXML GDataXML 因为 XML 文件非常大,所以需要做很多工作。我想问问已经使用过这些解析器的人。 哪个更适合胖 XML 文件? 我找
我还有 obj-c 的另一个问题:我正在尝试解析此 XML: 情况如下:
我有一个从外部服务器加载的脏 HTML 代码(因此我无法创建 json 文件或清理 html 代码)。我的 HTML 结构如下: ...
我找不到这些解析技术的比较。哪一种最常用? 问候。穆斯塔法 最佳答案 NSXMLParser 是 SAX解析器,这意味着它遍历 XML 文档,并通知您(通过委托(delegate)方法)各种事件(例如
由于 NSXML 在实际 iPhone 上的给定限制,我正在使用 TouchXml。无论如何,我刚刚开始使用 Objective-C,我来自 C# 背景,感觉想学习一些新的东西......无论如何..
我正在使用 sudz-c 生成的 SOAP 框架,我的服务调用似乎工作正常,但是当我尝试对数据执行任何操作时,iOS(模拟器)崩溃。 这是服务调用... [service hentOpgavelist
我正在尝试使用 touchXML 在 ios 中解析一个 xhtml 文件。我是第一次尝试。我在 XHTML 中有以下格式: Contents
与 NSXMLParser 相比,使用这些不同的框架(TouchXML、KissXML 等)有什么优势? 更新: 我认为还有一些其他问题间接提出了同样的问题,所以我相信它会被重复。所以我在这里发布了这
我一直在尝试通过TouchXML解析XHTML文档,但它总是无法通过XPath查询找到任何标签。 下面是 XHTML: XHTML
我是 touchxml 和 xpath 的新手,我只是想知道是否有任何方法可以动态获取节点的属性?我有这个 xml Philippines
我是一名优秀的程序员,十分优秀!