HaxeFoundation / haxe

Haxe - The Cross-Platform Toolkit
https://haxe.org
6.14k stars 656 forks source link

haxe.xml.Fast parsing issues #2922

Closed as3boyan closed 10 years ago

as3boyan commented 10 years ago

I am trying to parse http://lib.haxe.org/all page content Mainly I trying to get lib name and description, I was able to get some names, but some name are ignored, for example:

tink_core, tink_lang and more.

https://github.com/as3boyan/HIDE/blob/master/src/core/HaxeHelper.hx#L128

http://pastebin.com/R0L1s44w

HIDE traces lib name and description, it works for some libs, but one lib outputs this(div.innerData):

Allow video playback on Android & iOS</div>
        </li>

        <li>
                <a href="/p/iap">iap</a>
                <div class="description"></div>
        </li>

        <li>
                <a href="/p/iconv">iconv</a>
                <div class="description">The iconv project allows haxe to access the iconv library via the neko or c++ targets. </div>
        </li>

        <li>
                <a href="/p/ihx">ihx</a>
                <div class="description">ihx is an interactive haxe scripting shell</div>
        </li>

        <li>
                <a href="/p/ImageMagick">ImageMagick</a>
                <div class="description">ImageMagick bindings for neko/php. Based on the Lee McColl Sylvester's (lee@designrealm.co.uk) nMagick project.</div>
        </li>

        <li>
                <a href="/p/imagesaver">imagesaver</a>
                <div class="description">OpenFL extension to save a BitmapData instance to the camera roll</div>
        </li>

        <li>
                <a href="/p/inotify">inotify</a>
                <div class="description">Cpp/Neko linux-inotify bindings</div>
        </li>

        <li>
                <a href="/p/interface-handlers">interface-handlers</a>
                <div class="description">This library allows you to use native Haxe functions through Java-style one-method-interface wrappers.</div>
        </li>

        <li>
                <a href="/p/interpolation">interpolation</a>
                <div class="description"></div>
        </li>

        <li>
                <a href="/p/inthebox-macros">inthebox-macros</a>
                <div class="description">Essential macros for native extensions</div>
        </li>

        <li>
                <a href="/p/irl">irl</a>
                <div class="description">Generic game library tool things in a nice and small package.</div>
        </li>

        <li>
                <a href="/p/javelin">javelin</a>
                <div class="description">A tool to manage projects using mlib and munit</div>
        </li>

        <li>
                <a href="/p/jquery">jquery</a>
                <div class="description">Fixed version of the haxe's jQuery class and some plugins.</div>
        </li>

        <li>
                <a href="/p/jQueryExtern">jQueryExtern</a>
                <div class="description">Unleash the full power of jQuery in Haxe.</div>
        </li>

        <li>
                <a href="/p/kalturhaxe">kalturhaxe</a>
                <div class="description">API for the open-source video solution Kaltura (Kaltura.org)</div>
        </li>

        <li>
                <a href="/p/keybinding">keybinding</a>
                <div class="description">Makes it simple to 'bind' or 'unbind' handlers for the keyboard</div>
        </li>

        <li>
                <a href="/p/kong.hx">kong.hx</a>
                <div class="description">Strongly-typed access to the Kongregate API from Haxe.</div>
        </li>

        <li>
                <a href="/p/layout">layout</a>
                <div class="description">Flexible system for fluid resizing layouts</div>
        </li>

        <li>
                <a href="/p/lime">lime</a>
                <div class="description">A powerful native backend for Haxe projects</div>
        </li>

        <li>
                <a href="/p/lime-tools">lime-tools</a>
                <div class="description">Command-line tools for Haxe projects</div>
        </li>

        <li>
                <a href="/p/linden-google-iap">linden-google-iap</a>
                <div class="description">linden-googl-iap is an Android extension for OpenFL for GooglePlay In-App Billing.</div>
        </li>

        <li>
                <a href="/p/linden-startapp">linden-startapp</a>
                <div class="description">linden-startapp is an Android extension for OpenFL for StartApp service.</div>
        </li>

        <li>
                <a href="/p/livehaxe">livehaxe</a>
                <div class="description">LiveHaxe - a tool to monitor your project for changes and automatically recompile when changes are detected.</div>
        </li>

        <li>
                <a href="/p/logging">logging</a>
                <div class="description"></div>
        </li>

        <li>
                <a href="/p/love2d">love2d</a>
                <div class="description">LÖVE port to Haxe</div>
        </li>

        <li>
                <a href="/p/mailsender">mailsender</a>
                <div class="description">OpenFL extension that allows mail sending capabilities for iOS and Android</div>
        </li>

        <li>
                <a href="/p/markdown">markdown</a>
                <div class="description">A markdown library for Haxe</div>
        </li>

        <li>
                <a href="/p/mcli">mcli</a>
                <div class="description">A simple command-line object mapper. See more at https://github.com/waneck/mcli</div>
        </li>

        <li>
                <a href="/p/mconsole">mconsole</a>
                <div class="description">A cross platform Haxe implementation of the WebKit console API supporting logging, debugging and profiling. Currently supports AVM2, JS, C++ and Neko.</div>
        </li>

        <li>
                <a href="/p/mcover">mcover</a>
                <div class="description">A cross platform code coverage framework for Haxe with testing and profiling applications. Supports AVM1, AVM2, JavaScript, C++, PHP and Neko.</div>
        </li>

        <li>
                <a href="/p/minject">minject</a>
                <div class="description">A Haxe port of the ActionScript 3 SwiftSuspenders IOC library with efficient macro enhanced type reflection. Supports AVM1, AVM2, JavaScript, Neko and C++.</div>
        </li>

        <li>
                <a href="/p/mlib">mlib</a>
                <div class="description">A cross platform unit testing framework for Haxe with metadata test markup and tools for generating, compiling and running tests from the command line.</div>
        </li>

        <li>
                <a href="/p/mlib-wighawag">mlib-wighawag</a>
                <div class="description">A cross platform tool to deal with haxelib libraries</div>
        </li>

        <li>
                <a href="/p/mloader">mloader</a>
                <div class="description">A cross platform Haxe library for loading resources with utilities for queueing and caching requests. Supports AVM2, JavaScript, Neko and C++.</div>
        </li>

        <li>
                <a href="/p/mmvc">mmvc</a>
                <div class="description">A Haxe port of the ActionScript 3 RobotLegs MVC framework with signals and Haxe refinements. Supports AVM1, AVM2, JavaScript, Neko and C++.</div>
        </li>

        <li>
                <a href="/p/mockatoo">mockatoo</a>
                <div class="description">Mockatoo is a Haxe library for mock creation, verification and stubbing.</div>
        </li>

        <li>
                <a href="/p/mohxa">mohxa</a>
                <div class="description">A BDD style test library based closely on http://visionmedia.github.io/mocha/, for haxe</div>
        </li>

        <li>
                <a href="/p/monax">monax</a>
                <div class="description">Monax provide a macro to create optimizing Monads and their syntactic sugar</div>
        </li>

        <li>
                <a href="/p/mongodb">mongodb</a>
                <div class="description">MongoDB driver for Haxe</div>
        </li>

        <li>
                <a href="/p/mongomod">mongomod</a>
                <div class="description">MongoDB driver for haxe. Based on the 'mongodb' haxe library.</div>
        </li>

        <li>
                <a href="/p/mpartial">mpartial</a>
                <div class="description">A Haxe macro library for working with Partials. Supports AVM1, AVM2, JavaScript, Neko and C++.</div>
        </li>

        <li>
                <a href="/p/msignal">msignal</a>
                <div class="description">A Haxe port of the ActionScript 3 Signals library that leverages Haxe type parameters. Supports AVM1, AVM2, JavaScript, Neko and C++.</div>
        </li>

        <li>
                <a href="/p/mtwin">mtwin</a>
                <div class="description">Motion-Twin public Haxe libraries contains many tools which make webdevelopers life easier.</div>
        </li>

        <li>
                <a href="/p/munit">munit</a>
                <div class="description">A cross platform unit testing framework for Haxe with metadata test markup and tools for generating, compiling and running tests from the command line.</div>
        </li>

        <li>
                <a href="/p/mustache">mustache</a>
                <div class="description">Implementation of the mustache template system</div>
        </li>

        <li>
                <a href="/p/mvcexpress">mvcexpress</a>
                <div class="description">Haxe Port of mvcexpress library</div>
        </li>

        <li>
                <a href="/p/nanotest">nanotest</a>
                <div class="description">NanoTest is a light weight test library. Its interface is similar to the haxe.unit testing framework, but it can run as pre-compilation macro and can output test failures as compiler warnings or errors.</div>
        </li>

        <li>
                <a href="/p/nape">nape</a>
                <div class="description">Nape 2D Physics Engine</div>
        </li>

        <li>
                <a href="/p/nape-hacks">nape-hacks</a>
                <div class="description">Hacky (but stable) additional features for Nape.</div>
        </li>

        <li>
                <a href="/p/nape-symbolic">nape-symbolic</a>
                <div class="description">Symbolic algebra utility for runtime defined constraints in Nape.</div>
        </li>

        <li>
                <a href="/p/native3d">native3d</a>
                <div class="description">A simple gpu accelerated graphics engine written in haxe.</div>
        </li>

        <li>
                <a href="/p/nme">nme</a>
                <div class="description">NME provides a backend for native iOS, Android, Windows, Mac and Linux applications, using a Flash inspired API</div>
        </li>

        <li>
                <a href="/p/nme-state">nme-state</a>
                <div class="description">Supporting headers and libraries to make it easy to build NME from source.</div>
        </li>

        <li>
                <a href="/p/nme-vfs">nme-vfs</a>
                <div class="description">NME haxe library that abstracts file system access / file reading from different sources.</div>
        </li>

        <li>
                <a href="/p/nmex">nmex</a>
                <div class="description">NME extensions for IOS/Android including AdMob, Game Center, Google Analytics and more.</div>
        </li>

        <li>
                <a href="/p/node-webkit">node-webkit</a>
                <div class="description">Haxelib which downloads node-webkit binary for your platform and keeps it updated</div>
        </li>

        <li>
                <a href="/p/nodejs">nodejs</a>
                <div class="description">std.io, Http, and sys library for node.js</div>
        </li>

        <li>
                <a href="/p/ogl">ogl</a>
                <div class="description">Bindings to OpenGL 3,x, partial GLM emulation.</div>
        </li>

        <li>
                <a href="/p/opencv">opencv</a>
                <div class="description">Bindings to OpenCV 2.4.5 (using QT 4.8.2 and OpenGL)</div>
        </li>

        <li>
                <a href="/p/openfl">openfl</a>
                <div class="description">OpenFL is a powerful framework for cross-platform development</div>
        </li>

        <li>
                <a href="/p/openfl-bitfive">openfl-bitfive</a>
                <div class="description">Alternative blitting-targeted HTML5 backend for OpenFL.</div>
        </li>

        <li>
                <a href="/p/openfl-compatibility">openfl-compatibility</a>
                <div class="description">Compatibility support for OpenFL</div>
        </li>

        <li>
                <a href="/p/openfl-ffmpeg">openfl-ffmpeg</a>
                <div class="description">OPENFL haxe extensions for decoding videos and audio using ffmpeg.</div>
        </li>

        <li>
                <a href="/p/openfl-html5">openfl-html5</a>
                <div class="description">OpenFL support for HTML5</div>
        </li>

        <li>
                <a href="/p/openfl-html5-dom">openfl-html5-dom</a>
                <div class="description">OpenFL support for HTML5 (using the DOM)</div>
        </li>

        <li>
                <a href="/p/openfl-native">openfl-native</a>
                <div class="description">OpenFL support for native platforms</div>
        </li>

        <li>
                <a href="/p/openfl-nme-compatibility">openfl-nme-compatibility</a>
                <div class="description">Compatibility library for porting NME projects to OpenFL</div>
        </li>

        <li>
                <a href="/p/openfl-opus">openfl-opus</a>
                <div class="description">OPENFL haxe extensions for decoding opus audio files.</div>
        </li>

        <li>
                <a href="/p/openfl-ouya">openfl-ouya</a>
                <div class="description">Extension for additional OUYA support</div>
        </li>

        <li>
                <a href="/p/openfl-samples">openfl-samples</a>
                <div class="description">OpenFL samples</div>
        </li>

        <li>
                <a href="/p/openfl-stage3d">openfl-stage3d</a>
                <div class="description">stage3d api over openfl OpenGLView</div>
        </li>

        <li>
                <a href="/p/openfl-tiled">openfl-tiled</a>
                <div class="description">openfl-tiled is a library, which gives openfl developers the ability to use the TILED map editor.</div>
        </li>

        <li>
                <a href="/p/openfl-tiled-flixel">openfl-tiled-flixel</a>
                <div class="description">Experimental glue to use openfl-tiled with HaxeFlixel</div>
        </li>

        <li>
                <a href="/p/openfl-tools">openfl-tools</a>
                <div class="description">Command-line tools for OpenFL</div>
        </li>

        <li>
                <a href="/p/openfl-vfs">openfl-vfs</a>
                <div class="description">OpenFL haxe library that abstracts file system access / file reading from different sources.</div>
        </li>

        <li>
                <a href="/p/openfl-webm">openfl-webm</a>
                <div class="description">OPENFL haxe extensions for decoding webm videos (mkv+vp8+vorbis).</div>
        </li>

        <li>
                <a href="/p/openfl-webp">openfl-webp</a>
                <div class="description">OPENFL haxe extensions for decoding and encoding webp 0.4.0 images (lossy, lossless and alpha support).</div>
        </li>

        <li>
                <a href="/p/orm">orm</a>
                <div class="description">Object-relational mapping library. Can generate classes from database tables. MySQL and SqlLite are supported for now.</div>
        </li>

        <li>
                <a href="/p/Parsex">Parsex</a>
                <div class="description">General Parser API providing Packrat Parsers combinators and a Monadic support (requiers monax)</div>
        </li>

        <li>
                <a href="/p/path">path</a>
                <div class="description">Path utility inpired by Python's os.path</div>
        </li>

        <li>
                <a href="/p/PBKDF2">PBKDF2</a>
                <div class="description">Haxe implementation of the PBKDF2 Algorithm for password hashing</div>
        </li>

        <li>
                <a href="/p/phantomjs">phantomjs</a>
                <div class="description">Haxe externs for phantomjs</div>
        </li>

        <li>
                <a href="/p/phaser">phaser</a>
                <div class="description">Haxe externs for Phaser - the popular JavaScript game engine.</div>
        </li>

        <li>
                <a href="/p/plist">plist</a>
                <div class="description">Plist parsing and marshalling</div>
        </li>

        <li>
                <a href="/p/poly2trihx">poly2trihx</a>
                <div class="description">poly2trihx is an Haxe port of the poly2tri library, an excellent Delaunay triangulation library, which supports constrained edges and holes.</div>
        </li>

        <li>
                <a href="/p/polygonal-ai">polygonal-ai</a>
                <div class="description">A* pathfinder example using ds</div>
        </li>

        <li>
                <a href="/p/polygonal-core">polygonal-core</a>
                <div class="description">core library used by other polygonal libraries</div>
        </li>

        <li>
                <a href="/p/polygonal-ds">polygonal-ds</a>
                <div class="description">data structures for games</div>
        </li>

        <li>
                <a href="/p/polygonal-gl">polygonal-gl</a>
                <div class="description">graphics toolbox</div>
        </li>

        <li>
                <a href="/p/polygonal-motor">polygonal-motor</a>
                <div class="description">2d physics & computational geometry</div>
        </li>

        <li>
                <a href="/p/polygonal-native">polygonal-native</a>
                <div class="description">platform-specific helper classes</div>
        </li>

        <li>
                <a href="/p/polygonal-printf">polygonal-printf</a>
                <div class="description">c printf implementation</div>
        </li>

        <li>
                <a href="/p/polygonal-snd">polygonal-snd</a>
                <div class="description">simple sound manager</div>
        </li>

        <li>
                <a href="/p/polygonal-ui">polygonal-ui</a>
                <div class="description">user interface toolkit</div>
        </li>

        <li>
                <a href="/p/polygonal-zz">polygonal-zz</a>
                <div class="description">2d rendering library</div>
        </li>

        <li>
                <a href="/p/pony">pony</a>
                <div class="description">Haxe open-cross-library</div>
        </li>

        <li>
                <a href="/p/prime">prime</a>
                <div class="description">Buy the full set, get a scaffolding tool for free.</div>
        </li>

        <li>
                <a href="/p/prime-bindable">prime-bindable</a>
                <div class="description">Prime Bindable - Easy and powerful data binding for Haxe</div>
        </li>

        <li>
                <a href="/p/prime-components">prime-components</a>
                <div class="description">GUI components.</div>
        </li>

        <li>
                <a href="/p/prime-core">prime-core</a>
                <div class="description">Prime core types, utilities and classes. Used in every subpackage.</div>
        </li>

        <li>
                <a href="/p/prime-css">prime-css</a>
                <div class="description">CSS file parsing and style building.</div>
        </li>

        <li>
                <a href="/p/prime-data">prime-data</a>
                <div class="description"></div>
        </li>

        <li>
                <a href="/p/prime-display">prime-display</a>
                <div class="description"></div>
        </li>

        <li>
                <a href="/p/prime-fsm">prime-fsm</a>
                <div class="description">State machines.</div>
        </li>

        <li>
                <a href="/p/prime-layout">prime-layout</a>
                <div class="description">Prime layout library for Haxe.</div>
        </li>

        <li>
                <a href="/p/prime-media">prime-media</a>
                <div class="description"></div>
        </li>

        <li>
                <a href="/p/prime-mvc">prime-mvc</a>
                <div class="description">Prime MVC (Model Viewer Controller) library for Haxe.</div>
        </li>

        <li>
                <a href="/p/prime-signals">prime-signals</a>
                <div class="description">Prime signals.</div>
        </li>

        <li>
                <a href="/p/promhx">promhx</a>
                <div class="description">Promhx is a promise library for Haxe. Promises contain values that are not immediately available. However, you can specify callback functions that will trigger when the values do become available. </div>
        </li>

        <li>
                <a href="/p/protoc-gen-haxe">protoc-gen-haxe</a>
                <div class="description">Protocol Buffers for Haxe</div>
        </li>

        <li>
                <a href="/p/protohx">protohx</a>
                <div class="description">Crossplatform implementation of 'Google's Protocol Buffers' for haxe.</div>
        </li>

        <li>
                <a href="/p/pushstate">pushstate</a>
                <div class="description">A basic JS library for using PushState to update the browser address bar without doing a full page reload.  Depends on either Detox (if you have `-lib detox`), or js.jQuery otherwise.</div>
        </li>

        <li>
                <a href="/p/random">random</a>
                <div class="description">Shortcuts to generate random floats, ints, bools, strings, dates, or to pick random items from an array or enum, or to shuffle an array.</div>
        </li>

        <li>
                <a href="/p/refactor">refactor</a>
                <div class="description">Haxe source code refactoring tool.</div>
        </li>

        <li>
                <a href="/p/rox-i18n">rox-i18n</a>
                <div class="description">Macro driven internationalization/localization toolkit for Haxe.</div>
        </li>

        <li>
                <a href="/p/ruechartboost">ruechartboost</a>
                <div class="description">RueChartboost allows you to show ads using chartboost in android and ios.</div>
        </li>

        <li>
                <a href="/p/selecthxml">selecthxml</a>
                <div class="description">Allows type-safe CSS-style selection on Xml objects.</div>
        </li>

        <li>
                <a href="/p/session">session</a>
                <div class="description">Basic web sessions support for neko platform with common (php/neko) proxy class. Based on Andreas Soderlund's code.</div>
        </li>

        <li>
                <a href="/p/sfxr">sfxr</a>
                <div class="description">Haxe port of sfxr</div>
        </li>

        <li>
                <a href="/p/skeletoraxe">skeletoraxe</a>
                <div class="description">Libraries to use an skeleton animation method ( need skeletoraxe converter )</div>
        </li>

        <li>
                <a href="/p/slang">slang</a>
                <div class="description">An experimental stack-based scripting language.</div>
        </li>

        <li>
                <a href="/p/sockjs">sockjs</a>
                <div class="description">Cross-platform SockJS client library for realtime remoting between OpenFL apps and SockJS websocket server.</div>
        </li>

        <li>
                <a href="/p/spinehx">spinehx</a>
                <div class="description">SpineHx is Haxe 3 OpenFL/NME port of spine-libgdx skeletal animation runtime. </div>
        </li>

        <li>
                <a href="/p/SpriterHaxeEngine">SpriterHaxeEngine</a>
                <div class="description">Brashmonkey's Spriter SCML renderer compatible with Haxe 3 and openfl.</div>
        </li>

        <li>
                <a href="/p/spritesheet">spritesheet</a>
                <div class="description">Spritesheet is a useful and flexible sprite sheet library compatible with OpenFL</div>
        </li>

        <li>
                <a href="/p/sqlite">sqlite</a>
                <div class="description">Provides SQLite capabilities for C++ targets</div>
        </li>

        <li>
                <a href="/p/stablexui">stablexui</a>
                <div class="description">StablexUI is a crossplatform UI engine.</div>
        </li>

        <li>
                <a href="/p/stage3d-glsl">stage3d-glsl</a>
                <div class="description">a wrapper to stage3d api to use glsl</div>
        </li>

        <li>
                <a href="/p/stage3d-glsl-wrapper">stage3d-glsl-wrapper</a>
                <div class="description">a wrapper to stage3d api to use glsl</div>
        </li>

        <li>
                <a href="/p/stdlib">stdlib</a>
                <div class="description">Standard library improvements: exceptions, string triming with a trimed chars specified, min/max for integers and so on.</div>
        </li>

        <li>
                <a href="/p/svg">svg</a>
                <div class="description">Provides support for parsing and rendering SVG content</div>
        </li>

        <li>
                <a href="/p/swf">swf</a>
                <div class="description">Provides support for parsing and displaying SWF content</div>
        </li>

        <li>
                <a href="/p/systools">systools</a>
                <div class="description">A cross-platform extension to the Neko VM for accessing system APIs</div>
        </li>

        <li>
                <a href="/p/task">task</a>
                <div class="description">Use the Task and TaskList API to simplify asynchronous tasks</div>
        </li>

        <li>
                <a href="/p/templo">templo</a>
                <div class="description">Advanced Template System for Haxe</div>
        </li>

        <li>
                <a href="/p/TestFlight">TestFlight</a>
                <div class="description">TestFlight SDK for iOS and Android</div>
        </li>

        <li>
                <a href="/p/tilelayer">tilelayer</a>
                <div class="description">Lightweight wrapper over OpenFL's powerful but lowlevel 'drawTiles', with bitmap-based fallback for Flash/JS. Includes a Sparrow spritesheets parser supporting animations and trimming.</div>
        </li>

        <li>
                <a href="/p/tink_core">tink_core</a>
                <div class="description">Tinkerbell Core</div>
        </li>

        <li>
                <a href="/p/tink_macro">tink_macro</a>
                <div class="description">The macro toolkit ;) HaxeHelper.hx:184

This this may be connected with @back2dos ";)" smile=) Maybe it just can't parse it because of it.

I can try to move it out from HIDE to small project.

as3boyan commented 10 years ago

So, expected output is:

trace(li.node.a.innerData) //tilelayer
trace(li.node.div.innerData) //Lightweight wrapper over OpenFL's...

For each lib found on lib.haxe.org/all page.

Instead it throws me this big chunk of code I posted in above post.

Simn commented 10 years ago

This is not a valid issue report. Post a small, reproducible example please.

back2dos commented 10 years ago

As a side note: Do not parse HTML as XML. All it takes is a non-closing tag and you're in trouble, e.g. <hr>, <link>, <img>, <br>, ... and you're in trouble. Also it would be wiser to add this as a call to the haxelib API rather than to scrape it off the site (which may change at some point).

as3boyan commented 10 years ago

@back2dos You right, some people use </br> and other tags in description, which makes problems. It's a great idea about extending haxelib API, thanks.

as3boyan commented 10 years ago

@back2dos I didn't knew that haxelib can do this:

haxelib install HIDE.hxml

it's great.

back2dos commented 10 years ago

@as3boyan the credit for that goes to @jasononeil ;)

as3boyan commented 10 years ago

@Simn

I found a solution for HIDE, it gets list of haxelibs using haxelib search "".

I am wondering, can haxe.xml.Fast parse html or not. I created smaller example(node.js), just in case.

https://github.com/as3boyan/HtmlParsingWithXML

back2dos commented 10 years ago

I think what Simn is after is something that vaguely resembles a failing test case. Like a small input string and then code that shows that haxe.xml.Fast exhibits unexpected / wrong behavior for that input. The project is still relatively complex and the failure could be caused by any number of reasons (e.g. Xml itself).

On Sun, Apr 27, 2014 at 12:08 PM, as3boyan notifications@github.com wrote:

@Simn https://github.com/Simn

Can haxe.xml.Fast parse html or not. I created smaller example(node.js), just in case.

https://github.com/as3boyan/HtmlParsingWithXML

https://camo.githubusercontent.com/446d6a716f1d0e3f020a35fe69b10d6d28bf0da6/687474703a2f2f696d6775722e636f6d2f756746513574442e676966

— Reply to this email directly or view it on GitHubhttps://github.com/HaxeFoundation/haxe/issues/2922#issuecomment-41492729 .

as3boyan commented 10 years ago

Then I could try to write part of html to file. and remove some parsing code.

Simn commented 10 years ago

Or simply don't try to parse HTML like this because HTML is not XML.