1

ブロックで受信したXMLを読み取り可能なインデントされたXMLに整理できるObjective-cクラスまたは「ユーティリティクラスを使用したフレームワーク」はありますか。

<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>

....。

<Modules>
    <Module>
        <Description>Equities</Description>
        <ModuleId>4</ModuleId>
    </Module>
    <Module>
        <Description>Fleets</Description>
        <ModuleId>2</ModuleId>
    </Module>
...
</Modules>

乾杯

4

2 に答える 2

0

非常に単純なXMLパーサー-オーバーライドされた記述メソッドは完全なインデントを行います

https://github.com/nfarina/xmldocument

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>
于 2012-09-05T09:22:05.777 に答える
0

NSXMLParserドキュメントを解析して自分でフォーマットするために使用できます。levelNSXMLParserDelegateで、必要な現在のレベルまたはインデントを示すivarを保持します。パーサーが新しい開始トークンを解析するたびに、これを1つ増やし、終了トークンに遭遇したときに1つ減らします。次に、あなたがしなければならないのはNSMutableString、解析されたノードの前に適切な量のスペースを追加することです。

于 2012-08-28T16:09:38.333 に答える