Я хочу преобразовать переменную 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();
Полный код