2012-04-25 4 views
6

프로그래밍 방식으로 XML 파일을 만들 때 적절한 방식으로 서식을 지정할 수 있습니까?코코아 - XML ​​파일 서식 지정 방법

나는 간단한 XML 파일 만들려면이 코드를 사용하는 경우, 예를 들어,이 실행됩니다

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

를, 내가 아닌 아래 이미지에 주석 섹션에 따라 할 수 출력하고 싶습니다 실제 XML (주석이 없습니다).

xml code

하는 방법은 XML 그런 식으로 파일을 포맷 할 수 있습니다? 감사!

P. 나는 그러나 내가 경고를 얻고

NSData *newData = [[ads_user_printxml XMLDataWithOptions:NSXMLNodePrettyPrint]XMLData]; 

을 시도하고있는 답변을

감사합니다 .. 그러나, 나는 ... 저장하는있는 NSData에 내가 가지고있는 NSXMLDocument를 변환

을 싶습니다 " 'NSData'는 '-XMLData'에 응답하지 않을 수 있습니다. XMLDataWithOptions를 추가하기 전에 제대로 작동했습니다. 'XMLStringWithOptions'메서드를 시도했지만 (데이터가 더 적절하다고 생각했지만) 생성되었습니다.

아가씨? 고마워요! NSXMLDocumentNSXMLElementNSXMLNode의 서브 클래스이기 때문에, 당신은 또한 이러한 클래스와 함께이 작업을 수행 할 수

NSString* string = [xmlNode XMLStringWithOptions:NSXMLNodePrettyPrint]; 

참고 : 출력 멋지게 형식의 XML 문자열을 사용하여 다음 수

답변

11

.

대신 문자열의 NSData를 원한다면, 그냥 수행하십시오 답변

NSData* xmlData = [xmlNode XMLDataWithOptions:NSXMLNodePrettyPrint]; 
+0

감사합니다 .. 나는 원래의 질문을 조금 수정했습니다 .. 당신은 너무 친절 나에게를 제공하기로 될 경우 NSData에 실제로 저장할 수있는 방법에 대한 추가 정보가 있으면 크게 감사하겠습니다. 나는 원래 질문에서 언급 했어야했다. 감사. – Kevin

+2

답변을 업데이트했습니다. 질문에 대한 편집은 결과에'XMLData'를 호출한다는 것을 제외하고는 정확합니다. 'XMLDataWithOptions :'의 결과물은 이미'NSData' 객체가 아니기 때문에'NSData' 객체가 아니라'NSData' 객체입니다. –

+0

위대한 작품, 많은 Rob 감사합니다! – Kevin