Re: XML Namespace Definitions on Non-Root Elements
Re: XML Namespace Definitions on Non-Root Elements
- Subject: Re: XML Namespace Definitions on Non-Root Elements
- From: Heath Borders <email@hidden>
- Date: Mon, 07 Mar 2011 09:40:38 -0600
That worked!
I actually changed it to:
nodesForXPath:@"/root/*[name() = \"example:foo\"]
Thanks!
-Heath Borders
email@hidden
Twitter: heathborders
http://heath-tech.blogspot.com
On Sat, Mar 5, 2011 at 2:27 PM, Matt Neuburg <email@hidden> wrote:
> On Fri, 04 Mar 2011 14:25:06 -0600, Heath Borders <email@hidden> said:
>>I'm trying to parse a document with a namespace declared on a non-root element:
>>
>><root><example:foo xmlns:example="http://example.com/foo">This is an
>>exemplary foo!</example:foo></root>
>>
>>I can read this xml into an NSXMLDocument just fine, but the following
>>XPath query on root returns a non-nil, but empty NSArray:
>>
>>NSXMLNode *rootNode = ...// create my root node somehow
>>NSArray *exampleFooElements = [rootNode
>>nodesForXPath:@"/root/example:foo" error:nil];
>>// exampleFooElements != nil && [exampleFooElements count] == 0
>>
>>However, if I add the namespace declaration to the root element,
>>everything is fine:
>>
>><root xmlns:example="http://example.com/foo"><example:foo>This is an
>>exemplary foo!</example:foo></root>
>>
>>NSXMLNode *rootNode = ...// create my root node somehow
>>NSArray *exampleFooElements = [rootNode
>>nodesForXPath:@"/root/example:foo" error:nil];
>>// exampleFooElements != nil && [exampleFooElements count] == 1
>>
>>I can do this change programmatically, but I'd rather not have to
>>modify the document. This namespace usage should be legal. Am I
>>doing something wrong?
>
> It's no use just saying "example:"; you have to have a way to tell it what "example:" *is* - i.e. you have to bind the namespace - and you don't have a way to do that from here. One option is to bypass the namespace altogether:
>
> nodesForXPath:@"//*[local-name()='foo']"
>
> m.
>
>
> --
> matt neuburg, phd = email@hidden, <http://www.apeth.net/matt/>
> A fool + a tool + an autorelease pool = cool!
> Programming iOS 4!
> http://www.apeth.net/matt/default.html#iosbook
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden