There are several approaches you can take.

Nokogiri has been a b**** to get going on windows, and even now it only
compiles on mingw based MRI AFAIK.
To come close to the quality of the Nokogiri gem I think you would need to
find a very fast .NET based xml library (it's not XLinq :)), that also has a
SAX parser, knows about CSS3 for parsing documents in addition to XPATH, and
then provide an adapter to make it look like the nokogiri API.
You could potentially use P/Invoke to call to libxml2 but then you take on a
dependency on a native library. I'm also not sure if libxml2 actually
performs in the same way on windows as it does on *nix.

If we would have an implementation of FFI then we could use the FFI based
nokogiri gem.

I looked at it a few times but it would be a serious amount of work, too
much for my taste :).

---
Met vriendelijke groeten - Best regards - Salutations
Ivan Porto Carrero
Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
Twitter: http://twitter.com/casualjim
Author of IronRuby in Action (http://manning.com/carrero)
Microsoft IronRuby/C# MVP


On Tue, Apr 20, 2010 at 12:22 AM, Chris Bilson <cbil...@pobox.com> wrote:

> Just out of curiosity: What's the process for making an ironruby port of
> something like Nokogiri?
>
> I looked at a blog 
> post<http://blog.headius.com/2010/04/nokogiri-java-port-help-us-finish-it.html>by
>  one of the people working on the JRuby port and it looks pretty involved,
> but essentially, to port it you would just implement all the
> "attach_functions" in libxml.rb in .NET?
>
>
> --c
>
>
>
> On Sun, Apr 18, 2010 at 18:46, Tomas Matousek <
> tomas.matou...@microsoft.com> wrote:
>
>> Using native code in your app also requires full trust (implying it won't
>> work in Silverlight) and is potentially a security issue. Any exploit in the
>> library would make IronRuby vulnerable to attacks.
>>
>> Tomas
>>
>> -----Original Message-----
>> From: ironruby-core-boun...@rubyforge.org [mailto:
>> ironruby-core-boun...@rubyforge.org] On Behalf Of Wayne Meissner
>> Sent: Sunday, April 18, 2010 4:57 PM
>> To: ironruby-core@rubyforge.org
>> Subject: Re: [Ironruby-core] How could I get RPC in iron ruby?
>>
>> Performance is one negative - since most of the logic that would normally
>> be implemented in C, Java or C# is implemented in Ruby, it will be slower.
>>  Libxml is callback heavy, and depending on how well the FFI impl handles
>> these, the rather large number of transitions between ruby and the native
>> lib costs a lot.
>>
>> Portability is another - with a pure-ruby or C# impl, you don't need to
>> worry about having the appropriate native lib on the system - its plug and
>> play.  libxml is also a pretty nasty api to bind using something like FFI,
>> and nokogiri really pushes FFI, so until you have a really complete FFI
>> impl, you'll have stability problems.
>>
>> In hindsight, I think JRuby would have been better served by just going
>> for a java impl of nokogiri upfront rather than the nokogiri-over-FFI
>> stopgap.
>>
>> On 19 April 2010 07:10, Ryan Riley <ryan.ri...@panesofglass.org> wrote:
>> > Speaking of FFI, what's the tradeoff here? FFI let's us use the
>> > existing libraries without porting, but a managed alternative should
>> > be more performant, right? Seems like FFI is the winner here, but I
>> > may be missing something.
>> >
>> > Ryan Riley
>> >
>> > Email: ryan.ri...@panesofglass.org
>> > LinkedIn: http://www.linkedin.com/in/ryanriley
>> > Blog: http://wizardsofsmart.net/
>> > Twitter: @panesofglass
>> > Website: http://panesofglass.org/
>> >
>> >
>> > On Sun, Apr 18, 2010 at 12:49 AM, Jimmy Schementi
>> > <jimmy.scheme...@microsoft.com> wrote:
>> >>
>> >> So whose going to port it? :) or even implement FFI?
>> >>
>> >> ~Jimmy
>> >> On Apr 18, 2010, at 12:02 AM, "Ivan Porto Carrero"
>> >> <i...@cloudslide.net>
>> >> wrote:
>> >>
>> >> nokogiri works on windows but not on IronRuby ... it needs a
>> >> C-extension
>> >> ---
>> >> Met vriendelijke groeten - Best regards - Salutations Ivan Porto
>> >> Carrero
>> >> Web: http://whiterabbitconsulting.eu - http://flanders.co.nz
>> >> Twitter: http://twitter.com/casualjim Author of IronRuby in Action
>> >> (http://manning.com/carrero) Microsoft IronRuby/C# MVP
>> >>
>> >>
>> >> On Sat, Apr 17, 2010 at 9:14 PM, Ryan Riley
>> >> <ryan.ri...@panesofglass.org>
>> >> wrote:
>> >>>
>> >>> Maybe I spoke too soon, but I thought it did. I was switching back
>> >>> and forth a lot at the time. I will try again once I get everything
>> >>> re-installed.
>> >>>
>> >>> Sent from my iPhone
>> >>>
>> >>> On Apr 17, 2010, at 1:47 AM, Seo Sanghyeon <sanx...@gmail.com> wrote:
>> >>>
>> >>>> 2010/4/17 Ryan Riley <ryan.ri...@panesofglass.org>:
>> >>>>>
>> >>>>> Or use hpricot or nokogiri Ruby libraries. You will find several
>> >>>>> libs to choose from.
>> >>>>
>> >>>> Does nokogiri work on IronRuby?!
>> >>>>
>> >>>> --
>> >>>> Seo Sanghyeon
>> >>>> _______________________________________________
>> >>>> Ironruby-core mailing list
>> >>>> Ironruby-core@rubyforge.org
>> >>>> http://rubyforge.org/mailman/listinfo/ironruby-core
>> >>>
>> >>> _______________________________________________
>> >>> Ironruby-core mailing list
>> >>> Ironruby-core@rubyforge.org
>> >>> http://rubyforge.org/mailman/listinfo/ironruby-core
>> >>
>> >> _______________________________________________
>> >> Ironruby-core mailing list
>> >> Ironruby-core@rubyforge.org
>> >> http://rubyforge.org/mailman/listinfo/ironruby-core
>> >>
>> >> _______________________________________________
>> >> Ironruby-core mailing list
>> >> Ironruby-core@rubyforge.org
>> >> http://rubyforge.org/mailman/listinfo/ironruby-core
>> >>
>> >
>> >
>> > _______________________________________________
>> > Ironruby-core mailing list
>> > Ironruby-core@rubyforge.org
>> > http://rubyforge.org/mailman/listinfo/ironruby-core
>> >
>> >
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core@rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>> _______________________________________________
>> Ironruby-core mailing list
>> Ironruby-core@rubyforge.org
>> http://rubyforge.org/mailman/listinfo/ironruby-core
>>
>
>
> _______________________________________________
> Ironruby-core mailing list
> Ironruby-core@rubyforge.org
> http://rubyforge.org/mailman/listinfo/ironruby-core
>
>
_______________________________________________
Ironruby-core mailing list
Ironruby-core@rubyforge.org
http://rubyforge.org/mailman/listinfo/ironruby-core

Reply via email to