[
  {
    "Id": "275747",
    "ThreadId": "80454",
    "Html": "<p>Just wondering if there is any method which would get XmlDocument from ZipFile.</p>\r\n<p>I need to build a TreeView by recursing through a ZipFile.</p>\r\n<p>Thanks</p>\r\n<p>Navin</p>",
    "PostedDate": "2010-01-11T08:59:43.157-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "275756",
    "ThreadId": "80454",
    "Html": "<div style=\"color:Black;background-color:White\">\r\n<pre><span style=\"color:Blue\">using</span> (<span style=\"color:Blue\">var</span> zip = ZipFile.Read(<span style=\"color:#A31515\">&quot;c:\\\\data\\\\zipfile.zip&quot;</span>)) \r\n{ \r\n    <span style=\"color:Blue\">using</span> (Stream s = zip[<span style=\"color:#A31515\">&quot;NameOfXmlFile.xml&quot;</span>].OpenReader()) \r\n    { \r\n        <span style=\"color:Green\">// Create the XmlReader object. </span>\r\n        <span style=\"color:Blue\">using</span> (XmlReader reader = XmlReader.Create(s)) \r\n        { \r\n            <span style=\"color:Blue\">while</span> (reader.Read())  \r\n            { \r\n                .... \r\n            } \r\n        } \r\n    } \r\n} \r\n\r\n</pre>\r\n</div>",
    "PostedDate": "2010-01-11T09:13:46.577-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "276086",
    "ThreadId": "80454",
    "Html": "<blockquote style=\"border:solid .1em #ccc;font-style:italic;margin:.25em 1em 0 1em;padding:0 .25em 0 .25em\"><strong>Cheeso wrote:</strong><br>\r\n<div style=\"color:Black;background-color:White\">\r\n<pre><span style=\"color:Blue\">using</span> (<span style=\"color:Blue\">var</span> zip = ZipFile.Read(<span style=\"color:#A31515\">&quot;c:\\\\data\\\\zipfile.zip&quot;</span>)) \r\n{ \r\n    <span style=\"color:Blue\">using</span> (Stream s = zip[<span style=\"color:#A31515\">&quot;NameOfXmlFile.xml&quot;</span>].OpenReader()) \r\n    { \r\n        <span style=\"color:Green\">// Create the XmlReader object. </span>\r\n        <span style=\"color:Blue\">using</span> (XmlReader reader = XmlReader.Create(s)) \r\n        { \r\n            <span style=\"color:Blue\">while</span> (reader.Read())  \r\n            { \r\n                .... \r\n            } \r\n        } \r\n    } \r\n} \r\n\r\n</pre>\r\n</div>\r\n</blockquote>\r\n<p>Thanks Cheeso. Sorry i misphrased my question.</p>\r\n<p>I was wondering if there is something like ZipFile.ToXml() which would return me an xmlDocument of ZipFile contents.</p>\r\n<p>Thanks.</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2010-01-12T02:30:12.107-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "276206",
    "ThreadId": "80454",
    "Html": "<p>I don't know what ZipFile.ToXml() would do, but, I'm sure you could build one yourself just iterating through the list of entries.</p>",
    "PostedDate": "2010-01-12T07:56:35.923-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "276213",
    "ThreadId": "80454",
    "Html": "<blockquote style=\"border:solid .1em #ccc;font-style:italic;margin:.25em 1em 0 1em;padding:0 .25em 0 .25em\"><strong>Cheeso wrote:</strong><br>\r\n<p>I don't know what ZipFile.ToXml() would do, but, I'm sure you could build one yourself just iterating through the list of entries.</p>\r\n</blockquote>\r\n<p>I tried but i failed. I agree am not that good. I just need the filenames in zipfile as xmlDocument from which i would like to build a treeview.</p>\r\n<p>Thanks</p>\r\n<p>N</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2010-01-12T07:59:39.953-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "276228",
    "ThreadId": "80454",
    "Html": "<p>There's an example that populates a treeview from a zipfile, in the source download.</p>\r\n<p><a href=\"http://dotnetzip.codeplex.com/SourceControl/changeset/view/54012#776852\">http://dotnetzip.codeplex.com/SourceControl/changeset/view/54012#776852</a></p>",
    "PostedDate": "2010-01-12T08:18:25.013-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "276239",
    "ThreadId": "80454",
    "Html": "<blockquote style=\"border:solid .1em #ccc;font-style:italic;margin:.25em 1em 0 1em;padding:0 .25em 0 .25em\"><strong>Cheeso wrote:</strong><br>\r\n<p>There's an example that populates a treeview from a zipfile, in the source download.</p>\r\n<p><a href=\"http://dotnetzip.codeplex.com/SourceControl/changeset/view/54012#776852\">http://dotnetzip.codeplex.com/SourceControl/changeset/view/54012#776852</a></p>\r\n</blockquote>\r\n<p>Thank u.</p>\r\n<p>Navin</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2010-01-12T08:28:04.757-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "276265",
    "ThreadId": "80454",
    "Html": "<p>I converted it to C# but it is not giving the result expected:</p>\r\n<p>Down below in vb.net default(TreeNodeCollection) is used and i have set it to null.</p>\r\n<p>Not sure if that is right.</p>\r\n<p>Please advise.</p>\r\n<p>&nbsp;</p>\r\n<p>public static System.Windows.Forms.TreeView PopulateTreeView()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ZipFile zf = ZipFile.Read(SaiBLL.Resource1.Classes as byte[]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.TreeView tv = new System.Windows.Forms.TreeView();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (ZipEntry ze in zf.Entries)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddTreeNode(ze.FileName, tv);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return tv;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static System.Windows.Forms.TreeNode AddTreeNode(string name, System.Windows.Forms.TreeView TreeView1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((name.EndsWith(&quot;/&quot;)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = name.Substring(0, name.Length - 1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.TreeNode node = FindNodeForTag(name, TreeView1.Nodes);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((node != null))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return node;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.Windows.Forms.TreeNodeCollection pnodeCollection = null;//new System.Windows.Forms.TreeNodeCollection();//default(TreeNodeCollection);</strong><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string parent = System.IO.Path.GetDirectoryName(name);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((string.IsNullOrEmpty(parent)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pnodeCollection = TreeView1.Nodes;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pnodeCollection = AddTreeNode(parent.Replace(&quot;\\\\&quot;, &quot;/&quot;), TreeView1).Nodes;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node = new System.Windows.Forms.TreeNode();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node.Text = System.IO.Path.GetFileName(name);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node.Tag = name;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // full path<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pnodeCollection.Add(node);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return node;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public static System.Windows.Forms.TreeNode FindNodeForTag(string name, System.Windows.Forms.TreeNodeCollection nodes)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (System.Windows.Forms.TreeNode node in nodes)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((name == node.Tag))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return node;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if ((name.StartsWith(node.Tag + &quot;/&quot;)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return FindNodeForTag(name, node.Nodes);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>",
    "PostedDate": "2010-01-12T09:12:18.74-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "276310",
    "ThreadId": "80454",
    "Html": "<p>Are you using Visual Studio?&nbsp; there's a green squiggly on the test in FindNodeForTag :</p>\r\n<p><img src=\"http://i46.tinypic.com/4qms1g.jpg\" alt=\"\"></p>\r\n<p>If you cast to a string, you will get the results you want, I think.</p>\r\n<p>here's the code I used:</p>\r\n<div style=\"font-family:Consolas;font-size:8pt;color:black;background:white\">\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;1</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">private</span> <span style=\"color:blue\">void</span> button1_Click(<span style=\"color:blue\">object</span> sender, <span style=\"color:#2b91af\">EventArgs</span> e)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;2</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;3</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">this</span>.textBox1.BackColor = System.Drawing.<span style=\"color:#2b91af\">Color</span>.White;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;4</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">string</span> txt = <span style=\"color:blue\">this</span>.textBox1.Text;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;5</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">try</span></pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;6</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;7</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">this</span>.treeView1.Nodes.Clear();</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;8</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">using</span> (<span style=\"color:blue\">var</span> zip = <span style=\"color:#2b91af\">ZipFile</span>.Read(txt))</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;&nbsp;9</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;10</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">foreach</span> (<span style=\"color:blue\">var</span> entry <span style=\"color:blue\">in</span> zip)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;11</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;12</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; AddTreeNode(entry.FileName);</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;13</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;14</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;15</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;16</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">catch</span></pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;17</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;18</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">this</span>.textBox1.BackColor = System.Drawing.<span style=\"color:#2b91af\">Color</span>.MistyRose;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;19</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:#2b91af\">MessageBox</span>.Show(<span style=\"color:#a31515\">&quot;Exception reading that zip file.&quot;</span>);</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;20</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;21</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;22</span>&nbsp;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;23</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">private</span> <span style=\"color:#2b91af\">TreeNode</span> AddTreeNode(<span style=\"color:blue\">string</span> name)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;24</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;25</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">if</span> (name.EndsWith(<span style=\"color:#a31515\">&quot;/&quot;</span>))</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;26</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name = name.Substring(0, name.Length - 1);</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;27</span>&nbsp;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;28</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:#2b91af\">TreeNode</span> node = FindNodeForTag(name, <span style=\"color:blue\">this</span>.treeView1.Nodes);</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;29</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">if</span> (node != <span style=\"color:blue\">null</span>)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;30</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">return</span> node;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;31</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:#2b91af\">String</span> parent = <span style=\"color:#2b91af\">Path</span>.GetDirectoryName(name);</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;32</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:#2b91af\">TreeNodeCollection</span> pnodeCollection = (parent == <span style=\"color:#a31515\">&quot;&quot;</span>)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;33</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ? <span style=\"color:blue\">this</span>.treeView1.Nodes</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;34</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; : AddTreeNode(parent.Replace(<span style=\"color:#a31515\">&quot;\\\\&quot;</span>, <span style=\"color:#a31515\">&quot;/&quot;</span>)).Nodes;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;35</span>&nbsp;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;36</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; node = <span style=\"color:blue\">new</span> <span style=\"color:#2b91af\">TreeNode</span>()</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;37</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;38</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Text = <span style=\"color:#2b91af\">Path</span>.GetFileName(name),</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;39</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Tag = name <span style=\"color:green\">// ' full path</span></pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;40</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;41</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; pnodeCollection.Add(node);</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;42</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">return</span> node;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;43</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;44</span>&nbsp;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;45</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:green\">// Returns the TreeNode for a given name </span></pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;46</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">private</span> <span style=\"color:#2b91af\">TreeNode</span> FindNodeForTag(<span style=\"color:blue\">string</span> name, <span style=\"color:#2b91af\">TreeNodeCollection</span> nodes)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;47</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;48</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">foreach</span> (<span style=\"color:#2b91af\">TreeNode</span> node <span style=\"color:blue\">in</span> nodes)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;49</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;50</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">if</span> (name == (<span style=\"color:blue\">string</span>) node.Tag)</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;51</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">return</span> node;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;52</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">else</span> <span style=\"color:blue\">if</span> (name.StartsWith(node.Tag + <span style=\"color:#a31515\">&quot;/&quot;</span>))</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;53</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">return</span> FindNodeForTag(name, node.Nodes);</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;54</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;55</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style=\"color:blue\">return</span> <span style=\"color:blue\">null</span>;</pre>\r\n<pre style=\"margin:0px\"><span style=\"color:#2b91af\">&nbsp;&nbsp;&nbsp;56</span>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</pre>\r\n</div>",
    "PostedDate": "2010-01-12T10:40:53.09-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]