background image

34

    }  

35

      

36

    if ( ! [[NSFileManager defaultManager] fileExistsAtPath:destPath]) {  

37

        if ( ! [[NSFileManager defaultManager] createFileAtPath:destPath contents:nil 

attributes:nil]){  

38

            return NO;  

39

        }  

40

    }  

41

  

42

    NSData *xmlData = [xmlDoucment XMLDataWithOptions:NSXMLNodePrettyPrint]; 

43

    if (![xmlData writeToFile:destPath atomically:YES]) {  

44

        NSLog(@"Could not write document out...");  

45

        return NO;  

46

    }  

47

      

48

    return YES;  

49

}  

4. 生成 CData 节点

50

- (NSXMLNode *)generateCDataNode:(NSString *)value {  

51

<span style="white-space:pre">  </span>NSXMLNode *cdataNode = [[NSXMLNode 

alloc] initWithKind:NSXMLTextKind options:NSXMLNodeIsCDATA];  

52

<span style="white-space:pre">  </span>[cdataNode setStringValue:value];  

53

<span style="white-space:pre">  </span>  

54

<span style="white-space:pre">  </span>return [cdataNode autorelease];  

55

}  

可以像下面这样使用:

56

NSXMLElement *urlNode = [NSXMLElement elementWithName:@"Setting"];  

57

    NSXMLNode *cdataNode = [self generateCDataNode:dmgFileName];  

58

    [urlNode addAttribute:[NSXMLNode attributeWithName:@"name" 

stringValue:name]];  

59

    [urlNode addAttribute:[NSXMLNode attributeWithName:@"type" stringValue:type]];  

60

    [urlNode addChild:cdataNode];  

生成的

Xml 节点如下:

 

61

<Setting

 

name

=

"OutputFileName"

 

type

=

"string"

>

<![CDATA[mac-data-

recovery_full737.dmg]]>

</Sett