On 11/06/2008, at 3:19 PM, Lawrence Johnston wrote:
Hey everybody, I've got an issue that I can't figure out. If I'm using this code: NSString *XMLForDisplay { NSXMLElement *root = [NSXMLNode elementWithName:@"root"];[root addNamespace:[NSXMLNode namespaceWithName:@"a" stringValue:@"http://www.tempurl.com "]];NSXMLElement *child = [NSXMLNode elementWithName:@"child" URI:@"http://www.tempurl.com "];[child addChild:[NSXMLNode textWithStringValue:@"myText"]]; [root addChild:child]; return [root XMLStringWithOptions:NSXMLNodePrettyPrint]; } I believe it should be outputting this text: <root xmlns:a="http://www.tempurl.com"> <a:child>myText</a:child> </root>However, instead it outputs this text (note the lack of prefix on the child):<root xmlns:a="http://www.tempurl.com"> <child>myText</child> </root> This is an issue, because I need that "a:" prefix.The documentation for elementWithName:URI: states it's equivalent to <URI:name></URI:name>, which is exactly what I want, except that I can't get it to display that way.Thanks for your time.
The documentation says that you need to pass the qualified name in. So you need to do:
NSXMLElement *child = [NSXMLNode elementWithName:@"a:child" URI:@"http://www.tempurl.com "];
You can look-up the prefix using NSXMLElement’s resolvePrefixForNamespaceURI: method although you probably don’t need to do that.
- Chris
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]