Objective c UIWebView不显示已解析的XML数据
我有一个标记Objective c UIWebView不显示已解析的XML数据,objective-c,ios,uiwebview,Objective C,Ios,Uiwebview,我有一个标记(具有HTML标记),并且我已经将字符串部分存储在本地字符串中。现在我想将其传递到我的webView以显示,但它正在显示我的字符串(null) 这是我的代码,非常感谢您的帮助: @class AppDelegate_iPhone; @interface AboutUsViewController : UIViewController<NSXMLParserDelegate> { NSMutableString *aboutUsString; NSStri
(具有HTML标记),并且我已经将字符串部分存储在本地字符串中。现在我想将其传递到我的webView以显示,但它正在显示我的字符串(null
)
这是我的代码,非常感谢您的帮助:
@class AppDelegate_iPhone;
@interface AboutUsViewController : UIViewController<NSXMLParserDelegate> {
NSMutableString *aboutUsString;
NSString *currentElement;
IBOutlet UIWebView *webView;
AppDelegate_iPhone *appDelegate;
}
@property(nonatomic,retain) NSMutableString *aboutUsString;
@property(nonatomic,retain) IBOutlet UIWebView *webView;
-(id)init;
@end
@implementation AboutUsViewController
@synthesize aboutUsString,webView;
-(id)init{
if(self == [super init]){
aboutUsString = [[NSMutableString alloc]init];
}
return self;
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
appDelegate = (AppDelegate_iPhone *)[[UIApplication sharedApplication] delegate];
NSURL *url = [[NSURL alloc] initWithString:@"http://mobileecommerce.site247365.com/admin/AboutUs.xml"];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
//Initialize the delegate.
AboutUsViewController *parser = [[AboutUsViewController alloc] init];
//Set delegate
[xmlParser setDelegate:parser];
//Start parsing the XML file.
BOOL success = [xmlParser parse];
if(success)
NSLog(@"No Errors");
else
NSLog(@"Error Error Error!!!");
NSLog(@"After Parsing=== = = = = = = = == = = = = %@",appDelegate.TextString);
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
- (void)viewDidUnload {
[super viewDidUnload];
}
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
currentElement = elementName;
if([currentElement isEqualToString:@"AboutUs"]) {
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if([currentElement isEqualToString:@"AboutUs"]) {
NSMutableString *outputBuilder = [[NSMutableString alloc]init] ;
[outputBuilder appendString:[NSString stringWithFormat:@"%@", self.aboutUsString]];
[outputBuilder appendString:[NSString stringWithFormat:@"%@", string]];
self.aboutUsString = outputBuilder;
[outputBuilder release];
}
else
{
self.aboutUsString = string;
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if([elementName isEqualToString:@"AboutUs"]) {
[webView setScalesPageToFit:YES];
[webView loadHTMLString:self.aboutUsString baseURL:[NSURL URLWithString:@"http://www.hitchhiker.com/message"]];
NSLog(@"In DID End Element ===== %@",aboutUsString);
appDelegate.TextString = [[NSMutableString alloc]initWithString:aboutUsString];
}
currentElement = @"";
}
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
NSLog(@"In Document End ========= %@",aboutUsString);
NSLog(@"Appdelgate Text String %@",appDelegate.TextString);
}
- (void)dealloc {
[super dealloc];
[webView release];
}
@end
@class AppDelegate\u iPhone;
@关于ViewController的界面:UIViewController{
NSMutableString*关于字符串;
NSString*currentElement;
ibuiwebview*webView;
AppDelegate_iPhone*AppDelegate;
}
@属性(非原子,保留)NSMutableString*AboutString;
@属性(非原子,保留)ibuiwebview*webView;
-(id)init;
@结束
@关于视图控制器的实现
@综合有关字符串、网络视图;
-(id)init{
if(self==[super init]){
AboutString=[[NSMutableString alloc]init];
}
回归自我;
}
//实现viewDidLoad以在加载视图(通常从nib)后执行附加设置。
-(无效)viewDidLoad{
[超级视图下载];
appDelegate=(appDelegate_iPhone*)[[UIApplication sharedApplication]delegate];
NSURL*url=[[NSURL alloc]initWithString:@”http://mobileecommerce.site247365.com/admin/AboutUs.xml"];
NSXMLParser*xmlParser=[[NSXMLParser alloc]initwithcontentsofull:url];
//初始化委托。
AboutsViewController*解析器=[[AboutsViewController alloc]init];
//集合委托
[xmlParser setDelegate:parser];
//开始解析XML文件。
BOOL success=[xmlParser parse];
如果(成功)
NSLog(“无错误”);
其他的
NSLog(@“错误!!!”);
NSLog(@“解析后===”,appDelegate.TextString);
}
-(布尔)应自动旋转指针面定向:(UIInterfaceOrientation)interfaceOrientation{
返回YES;
}
-(无效)未收到记忆警告{
[超级记忆警告];
}
-(无效)视图卸载{
[超级视频下载];
}
-(void)parserdistartdocument:(NSXMLParser*)解析器
{
}
-(void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qName属性:(NSDictionary*)attributeDict
{
currentElement=elementName;
if([currentElement IsequalString:@“AboutUs”]){
}
}
-(void)解析器:(NSXMLParser*)解析器查找字符:(NSString*)字符串
{
if([currentElement IsequalString:@“AboutUs”]){
NSMutableString*outputBuilder=[[NSMutableString alloc]init];
[outputBuilder appendString:[NSString stringWithFormat:@“%@”,self.aboutString]];
[outputBuilder appendString:[NSString stringWithFormat:@“%@”,string]];
self.aboutString=outputBuilder;
[outputBuilder发布];
}
其他的
{
self.aboutString=字符串;
}
}
-(void)parser:(NSXMLParser*)parser didEndElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qName
{
if([elementName IsequalString:@“AboutUs”]){
[webView setScalesPageToFit:是];
[webView loadHTMLString:self.AboutString baseURL:[NSURL URLWithString:@]http://www.hitchhiker.com/message"]];
NSLog(@“在DID结束元素中===%@”,aboutString);
appDelegate.TextString=[[NSMutableString alloc]initWithString:AboutString];
}
currentElement=@;
}
-(void)parserDidEndDocument:(NSXMLParser*)解析器
{
NSLog(@“在文档末尾========%@”,aboutString);
NSLog(@“Appdelgate文本字符串%@”,appDelegate.TextString);
}
-(无效)解除锁定{
[super dealoc];
[网络视图发布];
}
@结束
在您的viewDidLoad
方法中,您正在创建一个新的AboutUsViewController,然后它将获取所有NSXMLParser
委托调用。它有自己的web视图,该视图将加载解析后的HTML,但您永远看不到它,因为解析视图控制器从未实际可见
您应该将
self
设置为xml解析器的委托
,而不是创建新实例。您还可以发布部分xml吗?还可以将NSLog或断点放入-parser:foundCharacters:中,并验证它是否已初始化为某个值 欢迎来到Vidushi Infotech Out Source Web Design、平面设计、Web开发、电子商务解决方案是否考虑将您的Web开发需求外包给世界一流的团队?不用再多看了,您对自定义Web开发、软件开发、图形设计或电子商务服务和解决方案的搜索到此结束 现在它并不像omz建议的那样显示NULL。。。但它没有显示我想要的视图…谢谢,我已经这样做了,但现在我的视图仍然没有显示我给它的内容。实际上可能是因为我使用了TabBar模板。。。。这是我试图展示webView的第二个视图。。。。实际上视图正在加载,我想是的,但我的内容不是。