Method: LibXML::XML::Reader#encoding
- Defined in:
- ext/libxml/ruby_xml_reader.c
#encoding ⇒ XML::Encoding::UTF_8
Returns the encoding of the document being read. Note you first have to read data from the reader for encoding to return a value
reader = XML::Reader.file(XML_FILE)
assert_nil(reader.encoding)
reader.read
assert_equal(XML::Encoding::UTF_8, reader.encoding)
In addition, libxml always appears to return nil for the encoding when parsing strings.
699 700 701 702 703 704 705 706 707 |
# File 'ext/libxml/ruby_xml_reader.c', line 699
static VALUE rxml_reader_encoding(VALUE self)
{
xmlTextReaderPtr xreader = rxml_text_reader_get(self);
const xmlChar *xencoding = xmlTextReaderConstEncoding(xreader);
if (xencoding)
return INT2NUM(xmlParseCharEncoding((const char*)xencoding));
else
return INT2NUM(XML_CHAR_ENCODING_NONE);
}
|