<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.silverlight.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Programming with .NET - General</title><link>http://forums.silverlight.net/forums/17.aspx</link><description>General discussions around authoring Silverlight .NET applications.</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Re: Reading number of elements of a XML using XMLReader</title><link>http://forums.silverlight.net/forums/thread/86996.aspx</link><pubDate>Fri, 05 Sep 2008 16:21:11 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:86996</guid><dc:creator>IanA</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/86996.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=86996</wfw:commentRss><description>&lt;p&gt;I concur with Skyrunner, it is better to use LINQ; it is much more powerful and elegant. If you have a learning curve to climb regarding parsing or generating XML I think its best to spend your time researching LINQ. But just for the record here is how to count your books using a reader:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;int&lt;/span&gt; count = 0;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;while&lt;/span&gt; (reader.Read())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="kwd"&gt;if&lt;/span&gt; (reader.NodeType == XmlNodeType.Element &amp;amp;&amp;amp; reader.Name.Equals(&lt;span class="st"&gt;&amp;quot;book&amp;quot;&lt;/span&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; count++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The SDK&amp;nbsp;documentation for the XmlReader class has a simple example that basically shows you all you need to know about it.&amp;nbsp;&lt;/p&gt;</description></item><item><title>Re: Reading number of elements of a XML using XMLReader</title><link>http://forums.silverlight.net/forums/thread/86989.aspx</link><pubDate>Fri, 05 Sep 2008 16:08:54 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:86989</guid><dc:creator>Skyrunner</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/86989.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=86989</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;int&lt;/span&gt; i = 0;
&lt;span class="kwd"&gt;for&lt;/span&gt; (i = 0; reader.ReadToFollowing(&lt;span class="st"&gt;&amp;quot;book&amp;quot;&lt;/span&gt;); i++) ;&lt;/pre&gt;&amp;nbsp;</description></item><item><title>Re: Reading number of elements of a XML using XMLReader</title><link>http://forums.silverlight.net/forums/thread/86980.aspx</link><pubDate>Fri, 05 Sep 2008 15:34:24 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:86980</guid><dc:creator>aoifuyu</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/86980.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=86980</wfw:commentRss><description>&lt;p&gt;Hi,

&lt;/p&gt;&lt;p&gt;Thanks a lot, it worked, but I definitely would like to keep using XMLReader, isn&amp;#39;t there any other way it can be solved using it?&lt;br /&gt;&lt;/p&gt;</description></item><item><title>Re: Reading number of elements of a XML using XMLReader</title><link>http://forums.silverlight.net/forums/thread/86967.aspx</link><pubDate>Fri, 05 Sep 2008 14:57:00 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:86967</guid><dc:creator>Skyrunner</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/86967.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=86967</wfw:commentRss><description>&lt;p&gt;Using LINQ To XML&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;pre class="coloredcode"&gt;XDocument doc = XDocument.Load(&lt;span class="st"&gt;&amp;quot;datafile.xml&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;var res = (from n &lt;span class="kwd"&gt;in&lt;/span&gt; doc.Descendants(&lt;span class="st"&gt;&amp;quot;book&amp;quot;&lt;/span&gt;)&lt;br /&gt;           select n).Count();&lt;/pre&gt;&amp;nbsp;&amp;nbsp;</description></item><item><title>Reading number of elements of a XML using XMLReader</title><link>http://forums.silverlight.net/forums/thread/86963.aspx</link><pubDate>Fri, 05 Sep 2008 14:45:09 GMT</pubDate><guid isPermaLink="false">d0d632c8-a6f7-4f68-b0ce-26aaafd62132:86963</guid><dc:creator>aoifuyu</dc:creator><slash:comments>0</slash:comments><comments>http://forums.silverlight.net/forums/thread/86963.aspx</comments><wfw:commentRss>http://forums.silverlight.net/forums/commentrss.aspx?SectionID=17&amp;PostID=86963</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;Hi all, I think this is a pretty easy one.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s say I have this XML named &amp;quot;datafile.xml&amp;quot;:&lt;br /&gt;&lt;/p&gt;

&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;bookstore&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;span class="tag"&gt;book&lt;/span&gt;&lt;span class="attr"&gt; genre=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;autobiography&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; publicationdate=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;1981-03-22&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; ISBN=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;1-861003-11-0&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &lt;span class="ec"&gt;![CDATA[&lt;/span&gt;The Autobiography of Benjamin Franklin&lt;span class="ec"&gt;]]&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;span class="tag"&gt;book&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;span class="tag"&gt;book&lt;/span&gt;&lt;span class="attr"&gt; genre=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Literary&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; publicationdate=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;1995-12-01&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; ISBN=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;1-845269-25-5&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &lt;span class="ec"&gt;![CDATA[&lt;/span&gt;&amp;quot;Gone with the Wind&amp;quot;&lt;span class="ec"&gt;]]&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;span class="tag"&gt;book&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;span class="tag"&gt;book&lt;/span&gt;&lt;span class="attr"&gt; genre=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Business and Economics&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; publicationdate=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;2006-05-25&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; ISBN=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;1-452367-96-6&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &lt;span class="ec"&gt;![CDATA[&lt;/span&gt;&amp;quot;Business Law Text and Cases&amp;quot;&lt;span class="ec"&gt;]]&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;span class="tag"&gt;book&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;bookstore&lt;/span&gt;&amp;gt; &lt;br /&gt;&lt;/pre&gt;

&lt;p&gt;&amp;nbsp; I&amp;#39;m using XMLReader to parse it. &lt;br /&gt;&lt;/p&gt;
&lt;pre class="coloredcode"&gt;StringBuilder output = &lt;span class="kwd"&gt;new&lt;/span&gt; StringBuilder();&lt;br /&gt;XmlReaderSettings settings = &lt;span class="kwd"&gt;new&lt;/span&gt; XmlReaderSettings();&lt;br /&gt;settings.XmlResolver = &lt;span class="kwd"&gt;new&lt;/span&gt; XmlXapResolver();&lt;br /&gt;XmlReader reader = XmlReader.Create(&lt;span class="kwd"&gt;&amp;quot;datafile.xml&amp;quot;&lt;/span&gt;);&lt;br /&gt;reader.ReadToFollowing(&lt;span class="st"&gt;&amp;quot;book&amp;quot;&lt;/span&gt;);&lt;br /&gt;&lt;span class="kwd"&gt;string&lt;/span&gt; title = reader.ReadElementContentAsString();&lt;br /&gt;&lt;span class="kwd"&gt;string&lt;/span&gt; book = reader.&lt;span class="kwd"&gt;value&lt;/span&gt;;&lt;br /&gt;output.Append(title);&lt;br /&gt;reader.Close();&lt;br /&gt;OutputTextBlock.Text = output.ToString();&lt;/pre&gt;&lt;pre class="coloredcode"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre class="coloredcode"&gt;&lt;/pre&gt;My question is, how can I read the number of elements in the XML, in this case &amp;quot;book&amp;quot;? it should be 3. I&amp;#39;ve tried validating it using HasValue, but it does not work.
&lt;pre class="coloredcode"&gt;Thanks a lot! &lt;br /&gt;&lt;/pre&gt;&amp;nbsp;&lt;br /&gt;</description></item></channel></rss>