官术网_书友最值得收藏!

Reading a file

As with a standard file, we first have to open the file and create a reader:

let file = File::open("my_xmlfile.xml").unwrap();
let reader =BufferedReader::new(file);

Next, we start the reading. Unlike a normal reader, we use EventReader. This provides a number of events (such as StartElement, EndElement, and Error), which are required for reading in from the differing nodes:

let mut xml_parser = EventReader::new(reader); 

Next, we iterate through the file, as follows:

for e in xml_parser.events() { 
     match e { 
         StartElement { name, .. } => { 
              println!("{}", name); 
         } 
         EndElement {name} => { 
             println!("{}", name); 
         } 
         Error(e) => { 
             println!("Error in file: {}", e); 
      } 
      _ => {} 
   } 
} 

In the preceding snippet, _ => {} essentially means that you don't care what is left, do something with it (in this case, the something is nothing). You will see the symbol _ quite a bit in Rust. Commonly, it is used in loops where the variable being acted on is never used, for example:

for _ in something() {...} 

We aren't going to use the iterator; we just need something to enable the iteration to go to the next value.

主站蜘蛛池模板: 滁州市| 洛隆县| 东源县| 石阡县| 缙云县| 姜堰市| 灵武市| 定安县| 望奎县| 本溪| 谷城县| 银川市| 诸暨市| 疏附县| 鹰潭市| 佛坪县| 卢湾区| 富川| 湛江市| 乡宁县| 深圳市| 云阳县| 富平县| 井陉县| 湖州市| 蒙阴县| 自治县| 平山县| 昔阳县| 翁源县| 玛纳斯县| 文昌市| 牟定县| 宁明县| 仁寿县| 固原市| 榕江县| 沾益县| 凭祥市| 五常市| 托克托县|