【发布时间】:2013-08-16 07:32:31
【问题描述】:
我从服务器加载 XML 响应并使用 NSXMLParser 进行解析。模拟器没有错误。但在 iPhone 中显示 NSXMLParserErrorDomain Code=5。
NSString *settings = "http://website.com/settings";
NSURL *url = [NSURL URLWithString:settings];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
xmlParser.delegate = self;
BOOL success = [xmlParser parse];
if(success)
{
NSLog(@"Parse Success");
}else{
NSLog(@"Parse Failure");
NSLog(@"Parse Error: %@",[xmlParser parserError]);
}
XML 响应
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<AutoRefereshTime>10</AutoRefereshTime>
<CashierPasswordRequired>Y</CashierPasswordRequired>
<CheckoutTableColor>#FFFF00</CheckoutTableColor>
<CompanyLogo>http://website.com/UCS_WS/Images/Logo/Logo.png</CompanyLogo>
<CompanyName>UnoRestaurant</CompanyName>
<ConfirmedTableColor>008ED5</ConfirmedTableColor>
<Description>The Great Indian Restaurant</Description>
<DevelopedBy>Unipro</DevelopedBy>
<HoldTableColor>A02325</HoldTableColor>
<ImageURL>http://rwebsite.com/UCS_WS/Images/Dish/</ImageURL>
<isCategoryEnabled>Y</isCategoryEnabled>
<isOtherLanguageEnabled>Y</isOtherLanguageEnabled>
<NormalTableColor>#0000FF</NormalTableColor>
<OrderScreenView>POS View</OrderScreenView>
<OtherLanguage>Tamil</OtherLanguage>
<SharedTableColor>#00FFFF</SharedTableColor>
</Settings>
解析错误:
Error Domain=NSXMLParserErrorDomain Code=5 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 5.)"
【问题讨论】:
-
很可能是您的入站 xml 有问题,可能是某个地方的不平衡块 - 您可以发布 xml 吗?
-
@JohnWoods 我共享了 xml 文件 docs.google.com/file/d/0B1jfEVVBBWQeSlhZMkhQQjN3cEk/…
-
我已经用模拟器、iPhone 和 iPad 对此进行了测试。它在模拟器和 iPad 中运行良好。但不适用于 iPhone。我不知道为什么它只在 iPhone 中不起作用。然后我意识到在我的 iPhone wifi 设置中,我将 HTTP Proxy 设置为 Manual 以使用 Charles Web Debugging 进行一些网络测试。已解决 - 设备 Wifi 设置 HTTP 代理处于关闭状态。但不知道背后的技术原因。
标签: iphone objective-c xml-parsing