quick_ xml Атрибуты HashMap - PullRequest
0 голосов
/ 13 июля 2020

Я хочу преобразовать переменную quick_ xml Attributes в HashMap<&str, &str>. Но я получаю сообщение об ошибке, как показано ниже.

Ошибка

    |
171 | / ...                   (str::from_utf8(attr.key).unwrap(), unsafe {
172 | | ...                       std::str::from_utf8_unchecked(attr.value.as_ref())
    | |                                                         ---------- `attr.value` is borrowed here
173 | m| ...                   })
    | |________________________^ returns a value referencing data owned by the current function

Я поискал в Google и скопировал некоторые коды из здесь для преобразования Cow<[u8]> на &str.

Код

let attrs: HashMap<&str, &str> = e
         .attributes() // quick_xml::events::attributes::Attributes
         .map(|a| {
               let attr = a.unwrap();

               (str::from_utf8(attr.key).unwrap(), unsafe {
                      std::str::from_utf8_unchecked(attr.value.as_ref())
               })
         })
         .collect();

Полный код

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