gpt4 book ai didi

iphone - 在 iOS SDK (iPad) 中使用 TouchXML 解析 SOAP 结果

转载 作者:行者123 更新时间:2023-11-29 11:23:58 31 4
gpt4 key购买 nike

我正在开发一个使用 Web 服务中的函数的 iPad 项目。处理网络服务连接、数据等工作。但我无法使用 TouchXML 解析结果 SOAP。从 xml 中获取节点总是返回 0 长度。

输出xml:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" <br/>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <br/>xmlns:xsd="http://www.w3.org/2001/XMLSchema"><br/><br/> <soap:Body><br/> <LogOnResponse xmlns="http://coreservices.org/v1"><br/> <LogOnResult><br/> <Id>1c0e9ad0-a3be-4cd0-8f0d-0616a63a4e28</Id><br/> <userId>2</userId><br/> <user><br/> <ID>2<br/> <Name>Beheerder<br/> <emailAddress /><br/> <cultureName>nl-NL</cultureName><br/> </user><br/> </LogOnResult><br/> </LogOnResponse><br/> </soap:Body><br/></soap:Envelope>

解析器代码:


NSData *aData = [[NSData alloc] initWithBytes:[webData mutableBytes]<br/> length:[webData length]];

NSString *xmlData = [[NSString alloc] initWithData:aData <br/> encoding:NSASCIIStringEncoding];

NSLog(@"%@", xmlData);

[xmlData release];

CXMLDocument *domUserIdentity = [[[CXMLDocument alloc] initWithData:aData <br/> options:0 <br/> error:nil]<br/> autorelease];
[aData release];

NSArray *nodesList = [domUserIdentity nodesForXPath:@"//LogOnResult" error:nil]; // 0 length

for (CXMLElement *resultElement in nodesList) {
for (int counter = 0; counter
NSString *elemName = [[resultElement childAtIndex:counter] name];
NSString * elemValue = [[[resultElement childAtIndex:counter]<br/> stringValue] <br/> stringByTrimmingCharactersInSet:<br/> [NSCharacterSet whitespaceAndNewlineCharacterSet]];

[elemName release];
[elemValue release];
}
}

[nodesList release];

知道我做错了什么吗?

提前致谢。

亚麻

最佳答案

尝试使用 NSXMLDocument,它应该和 CXMLDocument 一样好用。以下是一些文档: link

关于iphone - 在 iOS SDK (iPad) 中使用 TouchXML 解析 SOAP 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4792475/

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