-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, bradrover wrote: > I've been banging my head against the wall on this problem. I have a > soap::mapping::object result from a web service call, and all is well > except there are some XML elements in the response that are empty. > When I output these values in a UI (puts, etc) the value for those > elements always says something like #<soap::mapping::object::0x...> Can you show me a sample response XML? I don't understand 'empty element'. irb(main):001:0> require 'xsd/mapping' => true irb(main):002:0> xml = <<__XML__ irb(main):003:0" <foo> irb(main):004:0" <bar/> irb(main):005:0" <baz>qux</baz> irb(main):006:0" </foo> irb(main):007:0" __XML__ => "<foo>\n <bar/>\n <baz>qux</baz>\n</foo>\n" irb(main):008:0> obj = XSD::Mapping.xml2obj(xml) => #<SOAP::Mapping::Object:0x..fdbd9b682 {}bar="" {}baz="qux"> irb(main):009:0> obj.bar => "" irb(main):010:0> obj.baz => "qux" Is the above 'bar' empty? Do you mean an ommitted element? > output it ? Is there a more elegant way to handle this than doing a > check for this particular string literal ? I didn't see any methods on > soap::mapping::object to determine if it has a text element or not. Sometimes generating stub files with wsdl2ruby.rb is of help. Generated Driver can use type information while parsing XML to help extracting values from it. Regards, // NaHi -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (Cygwin) iQEVAwUBRnOt4h9L2jg5EEGlAQIJ8QgAnqBqN/Q0ijMA8fGhe74JM5VTtRY9q+3+ PUNimT2tLhX9BAYb++Uw93+klTgHI/itziJNj72k9uO5+WSBcYqjIkKgnRd4xOyF W2MosTBH0X4LvFmijkvIwN89kGflQkoghS3IgX7Fl8trf0LM8clrhZzeFz/JtGRf AX/+xRaphu19Lj6BZ9vP7FSefr89RsoXHutKbjL7dlK16Ds9zucYuX/iFXbv/X3Z 6ypbCuYZxU1c/1AF7Dlq6Jhzy/Dda0JTzNYCdeFCtgxzYBF0TIgyCV2TlbMywCoe xN+z12qFFR47EB77vLGXkAvXuVrQKjPdkzBBQahte/3G1bkivrz3lg== =92kR -----END PGP SIGNATURE-----