用于格式化XML的Objective-c类或框架
是否有任何Objective-c类或“带有实用程序类的框架”可以将块中接收的XML整理成可读的缩进XML 以前用于格式化XML的Objective-c类或框架,objective-c,xml,Objective C,Xml,是否有任何Objective-c类或“带有实用程序类的框架”可以将块中接收的XML整理成可读的缩进XML 以前 <Modules><Module><Description>Equities</Description><ModuleId>4</ModuleId></Module><Module><Description>Fleets</Description><Module
<Modules><Module><Description>Equities</Description><ModuleId>4</ModuleId></Module><Module><Description>Fleets</Description><ModuleId>2</ModuleId></Module><Module><Description>Futures</Description><ModuleId>5</ModuleId></Module><Module><Description>News</Description><ModuleId>1</ModuleId></Module><Module><Description>Podcasts</Description><ModuleId>7</ModuleId></Module><Module><Description>Time series</Description><ModuleId>3</ModuleId></Module><Module><Description>Clients</Description><ModuleId>13</ModuleId></Module><Module><Description>Seanet</Description><ModuleId>10</ModuleId></Module><Module><Description>S and P</Description><ModuleId>6</ModuleId></Module><Module><Description>Drycargo</Description><ModuleId>9</ModuleId></Module><Module><Description>Tankers</Description><ModuleId>8</ModuleId></Module><Module><Description>MarketLine</Description><ModuleId>11</ModuleId></Module></Modules>
Equities 4车队2未来5新闻1预测时间系列3客户13海运和干散货9油轮8市场线11
之后
股票
4.
舰队
2.
...
干杯您可以使用它来解析文档并自己设置格式。在NSXMLParserDelegate中,保留一个ivar
级别
,指示当前所需的级别或缩进。每次解析器解析一个新的开始标记时,将其增加1,当它遇到结束标记时,将其减少1。然后,您所要做的就是创建一个XML解析器,并在解析后的节点前面添加适当数量的空格。非常简单的XML解析器重写描述方法执行完全缩进
SMXMLDocument*document=[smxmldocumentdocumentwithdata:data error:&error];
NSLog(@“%@”,文件);
109
3.15
BCI
2012-09-04T13:09:13
我认为在任何脚本语言甚至C语言上编写这样的程序最多需要30分钟。不是吗?据我所知不是这样,但您可以尝试使用NSXMLParser和NSMutableString来重建带有换行/缩进的xml。如果元素使用相同的元素背靠背调用beginparseelement
和endparseelement
,则可以知道缩进级别
<Modules>
<Module>
<Description>Equities</Description>
<ModuleId>4</ModuleId>
</Module>
<Module>
<Description>Fleets</Description>
<ModuleId>2</ModuleId>
</Module>
...
</Modules>
SMXMLDocument *document = [SMXMLDocument documentWithData:data error:&error];
NSLog(@"%@",document);
<IndexPrices>
<Index>
<Change>109</Change>
<ChangePercentage>3.15</ChangePercentage>
<Description i:nil="true"/>
<IndexCode>BCI</IndexCode>
<IndexDate>2012-09-04T13:09:13</IndexDate>