From: Jari Williamsson Date: 2007-11-25T00:29:27+09:00 Subject: Re: REXML: Raw tags in element text? Robert Klemme wrote: > 2007/11/24, Jari Williamsson : >> Phrogz wrote: >>> On Nov 23, 2:26 pm, Jari Williamsson >>> wrote: >>>> In REXML, is it possible to add raw tags to element text, without having >>>> to add elements for those tags? >>>> (I would like to add a few HTML tags like to strings, before I >>>> know what element nodes they will appear at.) >>> Are you wanting to ad XML elements as children of another without >>> using the DOM to create them (like setting .innerHTML in a web >>> browser, causing it to parse your string and create elements as >>> necessary), >> Yes, this is what I want. > > I believe you can do it (i.e. add raw tags to text) BUT they will not > show up as tags when output. Which is completely logical once you > think about it. If you work with a DOM you have to add nodes as > nodes. Maybe you can just create a small sub tree with a node and > your text as nested text and later put that node into the tree. Since nothing seems to exist I wrote my own 2-line method: It adds a raw string, parses it and passes all nodes to the parent element. Here's the code if anyone else would need it: --- class REXML::Element def add_raw_text(raw_text) doc = REXML::Document.new(""+raw_text+"") doc.root.children.each { |e| self << e } end end --- Example: myelement.add_raw_text("here's a bold test") Best regards, Jari Williamsson