iOS XML 解析不出来,尝试了各种方法都一样,有没有大神碰到过类似的情况,求指教!!!

2015-11-21 22:39:05 +08:00
 lfflyers
要解析的 XML 数据如下,我把它转成字符串如下:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<getWeatherbyCityNameResponse
xmlns="http://WebXml.com.cn/">
<getWeatherbyCityNameResult>
<string>56492</string>
<string>2015-11-21 22:18:14</string>
<string>17℃/21℃</string>
<string>11 月 21 日 多云转小雨</string>
</getWeatherbyCityNameResult>
</getWeatherbyCityNameResponse>
</soap:Body>
</soap:Envelope>


那么问题来了,无论我用 GDataXML 解析还是 NSXMLParser 都解析不出<string>XXXXX</string>中间那个 XXXXX 那个字符串, NSXMLParser 解析实现如下:
//xmlData 是我请求的得到的数据
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:xmlData];

parser.delegate = self;

[parser parse];

在代理方法:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
NSLog(@"%@-----%@-----%@----%@", elementName, namespaceURI, qName, attributeDict);
}

打印结构如下:
2015-11-21 22:25:05.713 ChangHang[611:23462] string-----(null)-----(null)----{
}
3360 次点击
所在节点    iDev
9 条回复
lfflyers
2015-11-21 23:09:30 +08:00
大神都睡了吗?
targz
2015-11-22 01:02:49 +08:00
代理方法不是一个,开始之后还有其它方法的,有个什么 characters 的
expkzb
2015-11-22 10:34:17 +08:00
搞 soap 有专用的解析,何苦那么累
lfflyers
2015-11-22 12:45:11 +08:00
@targz 好像在哪个方法里有值,之前一直没用过~~
lfflyers
2015-11-22 12:45:33 +08:00
@expkzb 不都是 XML 数据吗~~
nellace
2015-11-22 22:14:57 +08:00
nellace
2015-11-22 22:16:00 +08:00
@expkzb 还真没用过,推荐一下呗
18ac0877
2015-11-23 12:39:56 +08:00
终极武器 直接查找字符串
scfhao
2015-11-23 14:20:09 +08:00
@nellace
@lfflyers
见过两个封装了 soap 的库,一个叫 wsdl2objc ,另一个叫 sudzc ( http://sudzc.com )。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237947

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX