def load_XML io
      xml=REXML::Document.new(io)
      @root=Xyml.domobj2element xml.root
      self.clear.push @root
      @root._sp(:_iamroot)
      io.close
    end
def load_XML io
      xml=REXML::Document.new(io)
      @root=Xyml.domobj2element xml.root
      self.clear.push @root
      @root._sp(:_iamroot)
      io.close
    end
create an instance of Xyml::Document.

 Xyml::Documentのインスタンスを生成する。
 ==== Args
 if first argument in *_argv_ is designated:

 *_argv_の第一要素が指定されている場合:
 - case of a symbol
 - シンボルの場合
   - create an instance composed of only a root element such that the name of the root elemnemt is the first argument
   - ルート要素のみからなるインスタンスを生成。ルート要素の名前が、argvの第一要素となる。

      xyml_tree=Xyml::Document.new(:a)
      #-> [{a:[]}]

 - case of an IO instance
 - IOインスタンスの場合
   - create an instance corresponding to the XYML file loaded through the IO. note that only XYML file can be loaded, not XML.(use load_XML method to load an XML file.)
   - IOを通してロードしたXYMLファイルに対応したインスタンスを生成する。XYMLファイルのみが指定可能であり、XMLは不可であることに注意。(XMLファイルをロードする場合は、load_XMLメソッドを使用)
      # aaa.xyml
      #  - a:
      #    -b: ccc
      #    -d:
      #      - eee
      xyml_tree=Xyml::Document.new(File.open("aaa.xyml"))
      #-> [{a: [{b: "ccc"},{d: ["eee"]}]}]

 - case of a tree composed of alternate hashes and arrays.
 - 交互になったハッシュと配列とにより構成したツリーの場合
   - create an instance reflecting a input tree.
   - 入力引数のツリーを反映したインスタンスを生成。
      xyml_tree=Xyml::Document.new({a: [{b: "ccc"},{d: ["eee"]}]})
      #-> [{a: [{b: "ccc"},{d: ["eee"]}]}]
      xyml_tree.out_XYML(File.open("aaa.xyml","w"))
      #-> aaa.xyml
      #  - a:
      #    -b: ccc
      #    -d:
      #      - eee
 load an XML file through the designated IO and set the tree data in the file to the self.

 XMLファイルをIOよりロードして、そのツリーデータを自身に設定する。
      # aaa.xml
      # <a b="ccc">
      #   <d>eee</d>
      # </a>
      xyml_tree=Xyml::Document.new
      xyml_tree.load_XML(File.open("aaa.xml"))
      #-> [{a: [{b: "ccc"},{d: ["eee"]}]}]