Enum xml::reader::XmlEvent
[−]
[src]
pub enum XmlEvent { StartDocument { version: XmlVersion, encoding: String, standalone: Option<bool>, }, EndDocument, ProcessingInstruction { name: String, data: Option<String>, }, StartElement { name: OwnedName, attributes: Vec<OwnedAttribute>, namespace: Namespace, }, EndElement { name: OwnedName, }, CData(String), Comment(String), Characters(String), Whitespace(String), }
An element of an XML input stream.
Items of this enum are emitted by reader::EventReader
. They correspond to different
elements of an XML document.
Variants
StartDocument | Corresponds to XML document declaration. This event is always emitted before any other event. It is emitted even if the actual declaration is not present in the document. Fields
| |||||||
EndDocument | Denotes to the end of the document stream. This event is always emitted after any other event (except | |||||||
ProcessingInstruction | Denotes an XML processing instruction. This event contains a processing instruction target ( Fields
| |||||||
StartElement | Denotes a beginning of an XML element. This event is emitted after parsing opening tags or after parsing bodiless tags. In the
latter case Fields
| |||||||
EndElement | Denotes an end of an XML element. This event is emitted after parsing closing tags or after parsing bodiless tags. In the
latter case it is emitted immediately after corresponding Fields
| |||||||
CData | Denotes CDATA content. This event contains unparsed data. No unescaping will be performed. It is possible to configure a parser to emit | |||||||
Comment | Denotes a comment. It is possible to configure a parser to ignore comments, so this event will never be emitted.
See | |||||||
Characters | Denotes character data outside of tags. Contents of this event will always be unescaped, so no entities like It is possible to configure a parser to trim leading and trailing whitespace for this event.
See | |||||||
Whitespace | Denotes a chunk of whitespace outside of tags. It is possible to configure a parser to emit |
Methods
impl XmlEvent
[src]
fn as_writer_event<'a>(&'a self) -> Option<XmlEvent<'a>>
Obtains a writer event from this reader event.
This method is useful for streaming processing of XML documents where the output is also an XML document. With this method it is possible to process some events while passing other events through to the writer unchanged:
use std::str; use xml::{EventReader, EventWriter}; use xml::reader::XmlEvent as ReaderEvent; use xml::writer::XmlEvent as WriterEvent; let mut input: &[u8] = b"<hello>world</hello>"; let mut output: Vec<u8> = Vec::new(); { let mut reader = EventReader::new(&mut input); let mut writer = EventWriter::new(&mut output); for e in reader { match e.unwrap() { ReaderEvent::Characters(s) => writer.write(WriterEvent::characters(&s.to_uppercase())).unwrap(), e => if let Some(e) = e.as_writer_event() { writer.write(e).unwrap() } } } } assert_eq!( str::from_utf8(&output).unwrap(), r#"<?xml version="1.0" encoding="UTF-8"?><hello>WORLD</hello>"# );
Note that this API may change or get additions in future to improve its ergonomics.
Trait Implementations
impl Debug for XmlEvent
[src]
Derived Implementations
impl Clone for XmlEvent
[src]
fn clone(&self) -> XmlEvent
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more