On Wed, Aug 19, 2009 at 10:07 AM, Andrew Hume<[email protected]> wrote:
> xml:
> <Company> AT&T </Company>
> i parse this using
> doc = LibXML::XML::Document.file('foo.xml')
> if node points to this element, then
> node.content == 'AT&T'
> all well and good. if i want to now create a new document,
> then i do
> newnode = LibXML::XML::Node.new('Company')
> newnode.content = node.content
> and this assignment has the error 'unterminated entity reference'
> (which could be fair given that it is literally an unterminated entity
> reference).
> the question is should assignment of content automatically do teh conversion
> or should teh user be responsible?
IMO, this is a bug in the LibXML-Ruby API. It seems reasonable to be
able to pull the content from one node and assign it to another.
You could try other ruby bindings to libxml2 like Nokogiri*:
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'nokogiri'
=> true
irb(main):003:0> doc = Nokogiri::XML::Document.new
=> <?xml version="1.0"?>
irb(main):004:0> node = Nokogiri::XML::Element.new('foo', doc)
=> <foo/>
irb(main):005:0> node.content = 'foo&bar'
=> "foo&bar"
irb(main):006:0> node.to_xml
=> "<foo>foo&bar</foo>"
* I wrote these bindings so I am biased.
--
Aaron Patterson
http://tenderlovemaking.com/
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml