write_and_reset_position(it.source_mut(), b"<child-1>content</child-1>");
assert_match!(it.next(), Some(Ok(XmlEvent::StartElement { ref name, .. })) if name.local_name == "child-1");
assert_match!(it.next(), Some(Ok(XmlEvent::Characters(ref c))) if c == "content");
assert_match!(it.next(), Some(Ok(XmlEvent::EndElement { ref name })) if name.local_name == "child-1");
write_and_reset_position(it.source_mut(), b"<child-2/>");
assert_match!(it.next(), Some(Ok(XmlEvent::StartElement { ref name, .. })) if name.local_name == "child-2");
assert_match!(it.next(), Some(Ok(XmlEvent::EndElement { ref name })) if name.local_name == "child-2");
write_and_reset_position(it.source_mut(), b"<child-3/>");
assert_match!(it.next(), Some(Ok(XmlEvent::StartElement { ref name, .. })) if name.local_name == "child-3");
assert_match!(it.next(), Some(Ok(XmlEvent::EndElement { ref name })) if name.local_name == "child-3"); // doesn't seem to work because of how tags parsing is done // write_and_reset_position(it.source_mut(), b"some text"); // assert_match!(it.next(), Some(Ok(XmlEvent::Characters(ref c))) if c == "some text");
write_and_reset_position(it.source_mut(), b"</root>");
assert_match!(it.next(), Some(Ok(XmlEvent::EndElement { ref name })) if name.local_name == "root");
assert_match!(it.next(), Some(Ok(XmlEvent::EndDocument)));
assert_match!(it.next(), None);
}
#[test] fn reading_streamed_content2() { let buf = Cursor::new(b"<root>".to_vec()); letmut config = ParserConfig::new();
config.ignore_end_of_stream = true; let readerb = EventReader::new_with_config(buf, config);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.