相关疑难解决方法(0)

NSXMLParser简单示例

大多数如何调用NSXMLParser的示例都包含在涉及Apps的复杂项目中.什么是演示回调的简单示例.

xml objective-c nsxmlparser swift

44
推荐指数
1
解决办法
1万
查看次数

使用NSXMLParser initWithStream:没有收到解析器委托方法

我正在处理的基本问题是使用NSStream类来解析传入的增量XML数据.数据永远不是一个完整的XML文档,但我希望根据套接字可以读取的内容以增量块的形式接收和处理它.

看一下文档NSXMLParser,似乎initWithStream:初始化a 的方法NSXMLParser将是我问题的完美解决方案.我可以使用a初始化解析器,NSInputStream然后在我通过套接字接收数据时调用该parse方法,然后NSXMLParser应该调用NSXMLParser委托.

但是,我没有看到任何被调用的委托,我看到被调用的唯一方法是流委托stream:handleEvent:.Apple或其他开发人员似乎很少或没有此API的示例.关于我做错了什么或如何initWithStream:正确使用的任何想法?

ContentParser.h

@interface ContentParser : NSObject <NSStreamDelegate, 
                                     NSXMLParserDelegate>
{
   NSInputStream *inputStream;
   NSOutputStream *outputStream;
   NSMutableData *receivedData;
   NSXMLParser *xmlParser;
}
- (void)initStream;
Run Code Online (Sandbox Code Playgroud)

ContentParser.m

@implementation ContentParser

- (void)initStream
{    
   CFReadStreamRef readStream;
   CFWriteStreamRef writeStream;

   CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, 
                                     (CFStringRef)@"<hostname>", 
                                     <port>, 
                                     &readStream, 
                                     &writeStream);

   inputStream = (__bridge NSInputStream *)readStream;
   outputStream = (__bridge NSOutputStream *)writeStream;

   inputStream.delegate = self;
   outputStream.delegate = self;

   [inputStream  scheduleInRunLoop:[NSRunLoop currentRunLoop]
                           forMode:NSDefaultRunLoopMode];
   [outputStream scheduleInRunLoop:[NSRunLoop …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c nsxmlparser nsinputstream nsstream

4
推荐指数
1
解决办法
2493
查看次数

标签 统计

nsxmlparser ×2

objective-c ×2

cocoa ×1

nsinputstream ×1

nsstream ×1

swift ×1

xml ×1