Как преобразовать файл XML в JSON без переполнения стека? - PullRequest
0 голосов
/ 27 марта 2020

У меня огромный XML файл размером почти 500 МБ. Я хочу обработать его и преобразовать в формат JSON с помощью Rust. У меня есть этот код, но он говорит:

поток 'main' переполнил свою ошибку стека: процесс не завершился успешно: target\debug\epg_to_json_to_db.exe (код выхода: 0xc00000fd, STATUS_STACK_OVERFLOW)

Это мой код:

extern crate xmlJSON;
extern crate rustc_serialize;
use crate::rustc_serialize::json::ToJson;

use xmlJSON::XmlDocument;
use rustc_serialize::json;
use std::str::FromStr;
use std::fs::File;
use std::io::prelude::*;

fn main() {
    let filename = "myfile.xml";

    let mut f = File::open(filename).expect("file not found");

    let mut contents = String::new();
    f.read_to_string(&mut contents).expect("something went wrong reading the file");

    let document: XmlDocument = XmlDocument::from_str(&mut contents).unwrap();
    let jsn: json::Json = document.to_json(); 
    println!("{}", jsn);
}

Какое здесь хорошее решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...