0

Xcodeに変換したい大きなテキストファイルがあります。メインバンドル(ドラッグアンドドロップ)のテキストファイルをプロジェクトに追加しました。テキストファイルが表示されますviewDidLoad
しかし、私はそれをXMLファイルに変換するのが好きです。たとえば、私のファイルは次のようになります。

  asasasasasas          
  wewewewewewe        
  qwqwqwqwqwqw
xyz_ 22 aaaaaaaaaaa        
fgfgfgfgfgfgfg        
ererererererer

abc_ 12 bbbbbbbbbb       
jkjkjkjkjkjkjk     
lalallalalalal

上記では、最初の3行を削除して、xyz_ 22(親)から始めて、jkjkjkj子として子lalalalaとして開始します。

私はこれを実装する方法のアイデアだけが必要です...私はコードを書きます:)

mycode:-(IBAction)readUsingObjectiveC:(id)pId {NSString * zStr = [NSString stringWithContentsOfFile:@ "/ Users / dd007 / Desktop / abc.txt" encoding:NSASCIIStringEncoding error:NULL]; NSLog(@ "readUsingObjectiveC zStr = \ n%@"、zStr);

// now to extract the data line by line
NSArray * zAryOfLines = [zStr componentsSeparatedByString:@"\n"];
if([zAryOfLines count] == 0) 
{
    NSLog(@"readUsingObjectiveC zAryOfLines count = 0");
    return;
} 
//for (int i=0; i<([zAryOfLines count]-30); ++i)
for ( int i=30; i<zAryOfLines ; i++)  

{
         if([[zAryOfLines objectAtIndex:i] isEqualToString:@"xyz_ "])
         {
             NSLog(@"<msg1>%@<msg1/>\n",[zAryOfLines objectAtIndex:i]);
             NSLog(@"<msg2>%@<msg2/>\n",[zAryOfLines objectAtIndex:i+1]);
             NSLog(@"<msg3>%@<msg3/>\n",[zAryOfLines objectAtIndex:i+2]);
[zArrayOfLines writeToFIle:@"/.....documents/..save.xml" automatically:YES encodingNSASCIIStringEncoding error:NULL];             
         }
     }

私はxml形式に変換していますが、ファイルを.xmlに保存するのが好きです..しかし、エラーが発生しているので、どこで間違いをしているのか誰かに教えてもらえますか??????

4

4 に答える 4

0

.txt を .xml に変換したいと思うので、これを行うために .txt を nsstring に読み取ります。これを NSString の componentsSeparatedByString:@"\n" メソッドで NSArray にカットします (\r 文字に注意してください)。必要のない行を取らないで、タグ XML を行に追加するための新しい NSString を作成します拡張子が .xml の新しいファイル。

私が説明したようなコードを書くための助けが必要な場合は、それを言ってください。

于 2012-12-04T10:19:53.777 に答える
0

あなたの例では、このようなコードが機能すると思います:

NSString *contentFile = [[NSString alloc] initWithContentsOfFile:pathFile encoding:NSUTF8StringEncoding error:nil];
NSArray *lineFile = [contentFile componentsSeparatedByString:@"\n"];
NSMutableString *xmlFile = [[NSMutableString alloc] init];
For(int i = 3; i < lineFile.count; i++)//i = 3 for don't take the 3 first line
{
    if ([((NSString *)[lineFile objectAtIndex:i]) rangedOfString:@"test"].location != NSNotFound)
    {
        xmlFile = [NSString stringWithFormat:@"%@<nameTag>%@</nameTag>", xmlFile, (NSString *)[lineFile objectAtIndex:i]];
    }
    else if ...
}

nsstring を新しいファイルに保存します。i が 4 の 3 の倍数である場合など、ループ内で番号で作成することができます...

于 2012-12-04T10:47:47.660 に答える
0

XCode を使用してファイルを xml に変換することはできません。次の 2 つのオプションがあります。

ファイルを解析して XML ファイルを作成する Python または Ruby スクリプトを作成してから、xml パーサーを使用できます。

または、必要なルールでプレーン ファイルを解析するクラスを作成できます。

于 2012-12-04T10:17:05.913 に答える
0

iOS でテキストを直接 xml に変換するオプションはありません。ただし、データを手動で渡すことでそれを行うことができます。

libXmlフレームワークまたはこれを行うために使用できますGDataXml

libXmlxml 生成のサンプル コードについては、このリンクにアクセスして Chapter 10.zip をダウンロードしてください。

GDataXML を使用した XML ドキュメントの読み取りと書き込みについては、このチュートリアルを確認してください。

また、 TCMXMLWriterはオープンソースの xmlgenerator です。

于 2012-12-04T10:34:41.297 に答える