<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>htmlagilitypack Source Control Rss Feed</title><link>http://codeplex.com/htmlagilitypack/SourceControl/ListDownloadableCommits.aspx</link><description>htmlagilitypack Source Control Rss Description</description><item><title>Patch Uploaded: #14118</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/Dzonny'&gt;Dzonny&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;This patch fixes various issues related to XPath and XSLT.&lt;br /&gt;&amp;#42; Infinite loops and stack overflows when applying XSL transformation&lt;br /&gt;&amp;#42; Wrong implementation of some stuff in HtmlNodeNavigator related to attributes &amp;#40;parnt node of attribute, leaving attributes, not taking into account or not reseting _attindex on various places, nonconformance with XPathNavigator documentation for some methods or properties&amp;#41;&lt;br /&gt;&amp;#42; Impossible to select attributes or combined attributes&amp;#43;nodes via XPath on HtmlNode&lt;br /&gt;&amp;#42; Generally missing support for attributes in HtmlNodeCollection&lt;br /&gt;&amp;#42; Created new HtmlCollection type which becomes parent of HtmlNodeCollection. Implementation of methods split between HtmlCollection and HtmlNodeCollection as appropriate&lt;br /&gt;&amp;#42; Created common inferface for HtmlNode and HtmlAttribute - IHtmlNode&lt;br /&gt;&lt;br /&gt;&amp;#42; Includes&lt;br /&gt;&amp;#42;&amp;#42; patch&amp;#35;14064 &amp;#40;Fix to NullReferenceException in getter of HtmlAttribute.Value&amp;#41;&lt;br /&gt;&amp;#42;&amp;#42; Solution to &amp;#91;discussion&amp;#58;435708&amp;#93; &amp;#40;Make HtmlNode.WriteTo virtual&amp;#41;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</description><author>Dzonny</author><pubDate>Mon, 18 Mar 2013 18:04:24 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #14118 20130318060424P</guid></item><item><title>Patch Uploaded: #14064</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/Dzonny'&gt;Dzonny&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Fix to NullReferenceException in getter of HtmlAttribute.Value&lt;br /&gt;&lt;br /&gt;I&amp;#39;m not sure if any additional check is good. I&amp;#39;m just checking _ownerdocument.Text for null. and returning null if it is null.&lt;/p&gt;</description><author>Dzonny</author><pubDate>Tue, 12 Mar 2013 15:43:04 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #14064 20130312034304P</guid></item><item><title>Patch Uploaded: #14038</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/sjdirect'&gt;sjdirect&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Attached two html pages that when .LoadHtml&amp;#40;thePageContent&amp;#41; is called will cause a stackoverflowexception. THIS IS NOT A PATCH but just more info the patch i just submitted. Also in the previous patch i did not add the related issues. I did so on this one...&lt;br /&gt;&lt;br /&gt;&amp;#35;30268 - StackOverflowException loading large document. &amp;#40;x&amp;#41;&lt;br /&gt;&amp;#35;30837 - StackOverflowException&lt;/p&gt;</description><author>sjdirect</author><pubDate>Fri, 08 Mar 2013 21:27:05 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #14038 20130308092705P</guid></item><item><title>Patch Uploaded: #14035</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/sjdirect'&gt;sjdirect&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Problem&amp;#58;&lt;br /&gt;HtmlAgilityPack throws stackoverflow exception when attempting to load html with tons of nested nodes. Attached two html files that make it easily reproducable. Loadhtml&amp;#40;string&amp;#41; will cause a stack overflow if you read in the content of either of the files.&lt;br /&gt;&lt;br /&gt;Solution&amp;#58;&lt;br /&gt;Patched html agility to fix this issue. Added HtmlDocument.OptionMaxNestedChildNodes that can be set to prevent StackOverflowExceptions that are caused by tons of nested tags. It will throw an ApplicationException with message &amp;#34;Document has more than X nested tags. This is likely due to the page not closing tags properly.&amp;#34;&lt;br /&gt;&lt;br /&gt;How I&amp;#39;m Using After Patch...&lt;br /&gt;HtmlDocument hapDoc &amp;#61; new HtmlDocument&amp;#40;&amp;#41;&amp;#59;&lt;br /&gt;hapDoc.OptionMaxNestedChildNodes &amp;#61; 5000&amp;#59;&lt;br /&gt;string rawContent &amp;#61; GETTHECONTENTHERE&lt;br /&gt;try&lt;br /&gt;&amp;#123;&lt;br /&gt;  hapDoc.LoadHtml&amp;#40;RawContent&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;catch &amp;#40;Exception e&amp;#41;&lt;br /&gt;&amp;#123;&lt;br /&gt;  hapDoc.LoadHtml&amp;#40;&amp;#34;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;  _logger.Error&amp;#40;e&amp;#41;&amp;#59;&lt;br /&gt;&amp;#125;&lt;br /&gt;Also explained here... https&amp;#58;&amp;#47;&amp;#47;code.google.com&amp;#47;p&amp;#47;abot&amp;#47;issues&amp;#47;detail&amp;#63;id&amp;#61;77&lt;br /&gt;&lt;br /&gt;Attached Zip Contents&amp;#58;&lt;br /&gt;HtmlAgilityPack.dll&amp;#58; This is the resulting patched binary&lt;br /&gt;FullProject&amp;#47;htmlagilitypack-99964_Original&amp;#58; Original src i got from the site&lt;br /&gt;FullProject&amp;#47;htmlagilitypack-99964_Modified&amp;#58; The src with patch included&lt;br /&gt;AlteredIndividualFiles&amp;#47;HtmlDocument.cs&amp;#58; Added OptionMaxNestedChildNodes&lt;br /&gt;AlteredIndividualFiles&amp;#47;HtmlNode.cs&amp;#58; Added Depth and SetParent&amp;#40;&amp;#41; that tracks node depth&lt;br /&gt;AlteredIndividualFiles&amp;#47;HtmlNodeCollection.cs&amp;#58; Replaced calls node.SetParent&amp;#40;_parentnode&amp;#41; instead of node._parentnode &amp;#61; _parentnode&amp;#59;&lt;br /&gt;AlteredIndividualFiles&amp;#47;HtmlNodeTest.cs&amp;#58; Added a few unit tests&lt;/p&gt;</description><author>sjdirect</author><pubDate>Fri, 08 Mar 2013 20:40:57 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #14035 20130308084057P</guid></item><item><title>Patch Uploaded: #13919</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/IDisposable'&gt;IDisposable&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Fixes StackOverflow issues on large documents like&amp;#58;&lt;br /&gt;&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;dev.w3.org&amp;#47;html5&amp;#47;html-author&amp;#47;charref&lt;br /&gt;&lt;br /&gt;Used code patch from luqasn &lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;htmlagilitypack.codeplex.com&amp;#47;workitem&amp;#47;30268&lt;br /&gt;&lt;br /&gt;Tested against current trunk version.&lt;/p&gt;</description><author>IDisposable</author><pubDate>Thu, 21 Feb 2013 23:59:56 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #13919 20130221115956P</guid></item><item><title>Patch Uploaded: #13652</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/zuken21'&gt;zuken21&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Problem&amp;#58;&lt;br /&gt;HtmlEntity failed to deentity text like that&amp;#58; &amp;#34;eating &amp;#38; sleeping&amp;#59;&amp;#34;&lt;br /&gt;&lt;br /&gt;It&amp;#39;s because a direct get value in dictionary in HtmlEntity.cs without checking if named entity is exist or not&amp;#58;&lt;br /&gt;object o &amp;#61; _entityValue&amp;#91;entity.ToString&amp;#40;&amp;#41;&amp;#93;&amp;#59;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solution&amp;#58;&lt;br /&gt;Perform checking before get&lt;br /&gt;&lt;br /&gt;&amp;#47;&amp;#47; named entity&amp;#63;&lt;br /&gt;                                        int code&amp;#59;&lt;br /&gt;                                        if &amp;#40;_entityValue.TryGetValue&amp;#40;entity.ToString&amp;#40;&amp;#41;, out code&amp;#41;&amp;#41;&lt;br /&gt;                                        &amp;#123;&lt;br /&gt;                                            &amp;#47;&amp;#47; we found one&lt;br /&gt;                                            sb.Append&amp;#40;Convert.ToChar&amp;#40;code&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                                        &amp;#125;&lt;br /&gt;                                        else&lt;br /&gt;                                        &amp;#123;&lt;br /&gt;                                            &amp;#47;&amp;#47; nope&lt;br /&gt;                                            sb.Append&amp;#40;&amp;#34;&amp;#38;&amp;#34; &amp;#43; entity &amp;#43; &amp;#34;&amp;#59;&amp;#34;&amp;#41;&amp;#59;&lt;br /&gt;                                        &amp;#125;       &lt;/p&gt;</description><author>zuken21</author><pubDate>Wed, 16 Jan 2013 03:20:07 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #13652 20130116032007A</guid></item><item><title>Patch Uploaded: #13568</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/sugiantow70'&gt;sugiantow70&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;no show&lt;br /&gt;&lt;/p&gt;</description><author>sugiantow70</author><pubDate>Tue, 01 Jan 2013 12:28:49 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #13568 20130101122849P</guid></item><item><title>Source code checked in, #99964</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99964</link><description>Updated HAPPhone.7.1 project to include needed SL 4 libraries for nuget package</description><author>DarthObiwan</author><pubDate>Wed, 10 Oct 2012 01:11:47 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99964 20121010011147A</guid></item><item><title>Source code checked in, #99963</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99963</link><description>Updated nuget directory for WinRT apps to new NetCore45 needed by nuget&amp;#13;&amp;#10;Updated nuget spec doc to 1.4.7</description><author>DarthObiwan</author><pubDate>Wed, 10 Oct 2012 01:01:54 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99963 20121010010154A</guid></item><item><title>Source code checked in, #99962</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99962</link><description>Updates for workitem &amp;#35;25278&amp;#13;&amp;#10;Changed WriteAttribute to honor OptionOutputOriginalCase&amp;#61;true&amp;#13;&amp;#10;Added unit test to test this functionality&amp;#13;&amp;#10;Updated AssemblyInfo.cs to allow internals to be visible to the HAP Unit Tests project</description><author>DarthObiwan</author><pubDate>Wed, 10 Oct 2012 00:11:11 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99962 20121010121111A</guid></item><item><title>Patch Uploaded: #12967</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/rburte'&gt;rburte&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Adds test to honor OptionOutputOriginalCase flag when writing out attributes in an HTML file &amp;#40;case is already covered in an file output as XML&amp;#41;.&lt;br /&gt;This is critical for me to preserve case in an embedded XML data island.&lt;br /&gt;This patch is against the current main branch release &amp;#40;changeset 98677&amp;#58; HTMLAgilityPack&amp;#47;HtmlNode.cs&amp;#41;&lt;br /&gt;&lt;br /&gt;Supercedes patch 12834 - which was based off another branch.&lt;/p&gt;</description><author>rburte</author><pubDate>Tue, 02 Oct 2012 22:42:41 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #12967 20121002104241P</guid></item><item><title>Source code checked in, #99885</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99885</link><description>Upgrade&amp;#58; New Version of LabDefaultTemplate.xaml. To upgrade your build definitions, please visit the following link&amp;#58; http&amp;#58;&amp;#47;&amp;#47;go.microsoft.com&amp;#47;fwlink&amp;#47;&amp;#63;LinkId&amp;#61;254563</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:24:31 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99885 20121001092431P</guid></item><item><title>Source code checked in, #99884</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99884</link><description>Checked in by server upgrade</description><author>Project Collection Service Accounts</author><pubDate>Mon, 01 Oct 2012 21:16:08 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99884 20121001091608P</guid></item><item><title>Source code checked in, #99803</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99803</link><description>Fix for issues &amp;#35;31858, &amp;#35;32952, &amp;#35;32959 and &amp;#35;32961 &amp;#40;Inner and Outer Html cache is not cleared properly&amp;#41;</description><author>simonm</author><pubDate>Mon, 24 Sep 2012 09:00:58 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99803 20120924090058A</guid></item><item><title>Patch Uploaded: #12834</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/rburte'&gt;rburte&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;Honor the OptionOutputOriginalCase flag when writing out attributes &amp;#40;as opposed to tag names&amp;#41;.&lt;/p&gt;</description><author>rburte</author><pubDate>Thu, 06 Sep 2012 21:30:02 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #12834 20120906093002P</guid></item><item><title>Patch Uploaded: #12804</title><link>http://htmlagilitypack.codeplex.com/SourceControl/list/patches</link><description>
&lt;p&gt;&lt;a href='http://www.codeplex.com/site/users/view/dimazhiyanov'&gt;dimazhiyanov&lt;/a&gt; has uploaded a patch.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Description:&lt;/b&gt;&lt;br /&gt;To prevent stack overflow in HTML documents with a large number of unclosed tags, limit the depth of the node.&lt;br /&gt;&lt;br /&gt;Attaching HtmlNode.cs file. Sorry I am new to codeplex&lt;br /&gt;&lt;br /&gt;Make HtmlNode._parentNode private instead of internal and introduce&lt;br /&gt;&lt;br /&gt;        internal void SetParentNode&amp;#40;HtmlNode parentNode&amp;#41;&lt;br /&gt;        &amp;#123;&lt;br /&gt;            if &amp;#40;parentNode &amp;#61;&amp;#61; null&amp;#41;&lt;br /&gt;            &amp;#123;&lt;br /&gt;                this._parentnode &amp;#61; null&amp;#59;&lt;br /&gt;                this._depth &amp;#61; 0&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;            else&lt;br /&gt;            &amp;#123;&lt;br /&gt;                if &amp;#40;parentNode._depth &amp;#62;&amp;#61; _maxNodeDepth&amp;#41;&lt;br /&gt;                &amp;#123;&lt;br /&gt;                    throw new ArgumentException&amp;#40;String.Format&amp;#40;&amp;#34;Maximum node depth reached&amp;#58; &amp;#123;0&amp;#125;&amp;#34;, _maxNodeDepth&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;                &amp;#125;&lt;br /&gt;&lt;br /&gt;                this._parentnode &amp;#61; parentNode&amp;#59;&lt;br /&gt;                this._depth &amp;#61; parentNode._depth &amp;#43; 1&amp;#59;&lt;br /&gt;            &amp;#125;&lt;br /&gt;        &amp;#125;&lt;br /&gt;  &lt;/p&gt;</description><author>dimazhiyanov</author><pubDate>Fri, 31 Aug 2012 01:30:15 GMT</pubDate><guid isPermaLink="false">Patch Uploaded: #12804 20120831013015A</guid></item><item><title>Source code checked in, #99300</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99300</link><description>Issue &amp;#35;30608&amp;#58; Added returning the immediate parent when calling ancestors&amp;#13;&amp;#10;Added readme for the solutions files</description><author>DarthObiwan</author><pubDate>Thu, 23 Aug 2012 14:26:48 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99300 20120823022648P</guid></item><item><title>Source code checked in, #99275</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99275</link><description>Experimental 2.0&amp;#58; Removed references to .snk file and HtmlBaseNode.cs. Added reference to IHtmlBaseNode.cs</description><author>DarthObiwan</author><pubDate>Mon, 20 Aug 2012 19:25:27 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99275 20120820072527P</guid></item><item><title>Source code checked in, #99183</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99183</link><description>Code for Nuget reference test projects</description><author>DarthObiwan</author><pubDate>Mon, 13 Aug 2012 23:39:50 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99183 20120813113950P</guid></item><item><title>Source code checked in, #99182</title><link>http://htmlagilitypack.codeplex.com/SourceControl/changeset/changes/99182</link><description>Adding nuget reference testing project files</description><author>DarthObiwan</author><pubDate>Mon, 13 Aug 2012 23:36:49 GMT</pubDate><guid isPermaLink="false">Source code checked in, #99182 20120813113649P</guid></item></channel></rss>