Builder::XmlMarkup adds <inspect/> on printing and <clone/> on saving

Hello,

I am new in this group. Please give me a short hint, in case this is
the wrong place for my posting.

I want to create an XML file and store it in "filetransfer". The XML
part of the file (the body) sould go to "filetransfer.data". Despite
the last line, everything is fine with the code below.

With "filetransfer.save" two entries "<clone/>" are added at the end
of filetransfer.data. How can I avoid these entries? Printing has a
similar effect. In that case "<inspect/>" is added every time I print.

Locking forward to your hints

SUzB

**** code example ****

    filetransfer.data = Builder::XmlMarkup.new
    myxml =
Builder::XmlMarkup.new(:target=>filetransfer.data, :indent=>2)

    myxml.instruct! #:xml, :version=>"1.0"
    myxml.OpenShipments("xmlns"=>"x-schema:OpenShipments.xdr"){
      for row in parsed # contains rows of a parsed .csv file
        myxml.OpenShipment("ShipmentOption"=>"", "ProcessStatus"=>"")
do
          myxml.ShipTo do
            myxml.CompanyOrName(row[0])
            myxml.Address1(row [1])
            myxml.Address2(row [2])
            myxml.CountryTerritory("DE")
            myxml.PostalCode(row [3])
            myxml.CityOrTown(row [4])
          end
          myxml.ShipmentInformation do
            myxml.ServiceType("ES")
            myxml.NumberOfPackages("1")
            myxml.BillingOption("PP")
          end
          myxml.Package do
            myxml.PackageType("CP")
            myxml.Weight(row [5])
          end
        end
      end
    }

    filetransfer.save

If filetransfer.data is just supposed to contain the text of the markup - it's shouldn't be an instnace of Builder::XmlMarkup. It can be anything that responds to <<, for example a String or a File (Builder::XMLMarkup also responds to << which is why this works at all.

Fred

you are right, I am only interested in teh text of the markup. Do you
have a short hint how to change my code?

SUzB

I've no idea what your file transfer class is, but changing the first line to filetransfer.data = ""
would probably be a step in the right direction

Fred

Thanks Fred! It works

SUzB