so i'm trying write simple query grabs of attribute xml file, nothing seems work. i've been able several other xml's reason 1 i'm working here won't cooperate. suggestions or advice hugely appreciated.
here's xml looks like.
<doc xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="name" xsi:schemalocation="[there's link here]" name="name"> <wrapper> <box_collection> <box name="test a" test="test b"/> <box name="test c" test="test d"/> <box name="test e" test="test f"/> </box_collection> </wrapper> </doc>
here's c# code:
xdocument customers = xdocument.load(@"c:\users\folder\file.xml"); ienumerable<string> names = c in customers.descendants("box").attributes("name") select c.value; string namelist = "names:"; foreach (string c in names) { namer += " " + c; } textbox.appendtext(namelist);
the reason xml has default namespace declared @ root element :
xmlns="name"
xml elements inherit ancestor default namespace default, unless otherwise specified (f.e using explicit prefix point different namespace uri). can use xnamespace
+ element's local name point element in namespace :
xnamespace ns = "name"; ienumerable<string> names = c in customers.descendants(ns+"box").attributes("name") select c.value;
Comments
Post a Comment