Assign new value to node : rexml « XML « Ruby






Assign new value to node


require 'delegate'
require 'rexml/text'
require 'rexml/document'

class EntitySubstituter < DelegateClass(IO)
  def initialize(io, document, filter=nil)
    @document = document
    @filter = filter
    super(io)
  end

  def <<(s)
    super(REXML::Text::unnormalize(s, @document.doctype, @filter))
  end
end


str = %{<?xml version="1.0"?>
<!DOCTYPE doc [
 <!ENTITY product 'Stargaze'>
 <!ENTITY version '2.3'>
]>
<doc>
 &product; v&version; 
</doc>}


doc = REXML::Document.new str

text_node = doc.root.children[0]
text_node.value = "&product; v&version;"

doc.write

 








Related examples in the same category

1.REXML is already part of Ruby, you get it free of charge.
2.A basic demonstration of parsing an XML file looking for certain elements:
3.Use rexml to read xml file
4.Checking XML Well-Formedness
5.Get the first element under root
6.Output xml with REXML
7.Extracting Data While Parsing a Document
8.get a Node from xml document
9.Extracting Data From a Document's Tree Structure
10.Entity Substituter
11.Creating and Modifying XML Documents
12.Add new element
13.Compressing Whitespace in an XML Document
14.Compress whitespace only in anchor
15.Leave whitespace for anchor
16.Compress new line character
17.require 'rexml/document'