Czy istnieje sposób, w jaki mogę poprawnie sformatować plik XML podczas tworzenia go programowo?Kakao - jak sformatować plik XML
Na przykład, jeśli mogę użyć tego kodu, aby utworzyć prosty XML File:
NSXMLElement *fallback_driver = [[NSXMLElement alloc] initWithName:@"fallback-driver"];
NSXMLElement *folder = [[NSXMLElement alloc] initWithName:@"folder"];
[folder setStringValue:[ads_make objectValueOfSelectedItem]];
NSXMLElement *filename =[[NSXMLElement alloc] initWithName:@"filename"];
[filename setStringValue:ads_driver_name_selected];
[fallback_driver addChild:folder];
[fallback_driver addChild:filename];
NSXMLElement* rootNode = [ads_user_printxml rootElement];
[rootNode addChild:fallback_driver];
Gdy ta jest prowadzona, chciałbym wyjście będzie jak za komentowanym sekcji w obrazek poniżej, a nie rzeczywisty XML (który nie jest komentowany).
Jak mogę sformatować plik XML w ten sposób? Dzięki!
P.S.
Dzięki za odpowiedź .. Jednak chciałbym, aby przekształcić NSXMLDocument że mam do NSData do zapisywania ...
Staram
NSData *newData = [[ads_user_printxml XMLDataWithOptions:NSXMLNodePrettyPrint]XMLData];
jednak ja dostaję ostrzeżenie, że "NSData" może nie odpowiadać na "-XMLData", gdzie przed dodaniem XMLDataWithOptions działało poprawnie.Próbowałem również metodę "XMLStringWithOptions" (jak podano - ale uznał, że dane były bardziej odpowiednie), ale samo ostrzeżenie został wygenerowany
Dowolny deas? Wielkie dzięki!
Dzięki za odpowiedź .. Ja zmodyfikowane oryginalne pytanie trochę .. Jeśli byłbyś tak uprzejmy podać mi dalszą wskazówkę, w jaki sposób mogę faktycznie zapisać w NSData, byłbym bardzo wdzięczny. Powinienem był o tym wspomnieć w pierwotnym pytaniu. Dzięki. – Kevin
Zaktualizowałem swoją odpowiedź. Twoja poprawka do pytania jest poprawna, z tą różnicą, że wywołujesz "XMLData" na wyniku. To nie zadziała i nie będzie konieczne, ponieważ wynikiem działania 'XMLDataWithOptions:' jest obiekt 'NSData', a nie obiekt' NSXMLNode'. –
Działa świetnie, bardzo dziękuję Rob! – Kevin