169 похожих чатов

Здравствуйте. Как мне обрезать XML по значениям? Данные выдернуть я

могу, но мне нужно сохранить в виде XML же.
Предположим, есть файл, набитый тегами <book>, в которых хранятся все данные по книгам. Мне нужно из этого сделать файл, где будут только те <book>, где author == 'Karl Marx'.

10 ответов

23 просмотра

https://msiter.ru/tutorials/xslt/transformation

Evgeny-Vlasov Автор вопроса
Ilya Shutov
https://msiter.ru/tutorials/xslt/transformation

Я понял, как найти узлы, где автор "Маркс". А как найти все узлы, где автор входит в список? Например, есть вектор a <- c('маркс','энгельс','каутский','плеханов','троцкий'), как мне получить все книги, авторы которых мы входят в список? Список может быть больше пятидесяти, вручную перебирать не вариант.

Evgeny Vlasov
Я понял, как найти узлы, где автор "Маркс". А как ...

Ну, наверное, поиском в гугле. - https://www.xml.com/pub/a/2003/06/04/tr.html - https://stackoverflow.com/questions/39903296/extract-the-sub-string-based-on-the-regular-expression-in-xslt - https://xsltdev.ru/exslt/regexp-test()/ В целом, мне импонирует такой подход. Сначала маленький "как бы абстрактный вопросик" по мифическому набору, потом из-за спины вытаскивается айсберг. Может лучше с самого начала сформулировать честную задачу с реальными данными? В большинстве случаев оказывается, что решение вообще будет в перпендикулярной плоскости.

Evgeny-Vlasov Автор вопроса
Ilya Shutov
Ну, наверное, поиском в гугле. - https://www.xml.c...

Есть куча ссылок на XML файлы, в которых списки машин штук по двадцать. В каждом файле просто куча тегов <сar>, внутри каждого информация о машине, в том числе vin номер. Есть отдельно список vin номеров, дернутый из другого места. По каждой ссылке нужно выбрать только те <car>, <vin> которых входит в этот список. Желательно склеить это в один XML файл, но это уже дело десятое.

Evgeny Vlasov
Есть куча ссылок на XML файлы, в которых списки ма...

может не надо про дело десятое думать на первом шаге? тогда и xslt не потребовалось бы ковырять. в R все решается на раз-два. Считали, распарсили, разобрали, сохранили делов будет на экран

Evgeny-Vlasov Автор вопроса
Ilya Shutov
может не надо про дело десятое думать на первом ша...

Понял. Распарсить в лист, порезать и перегнать обратно в XML. Просто я на заре карьеры сталкивался с XSLT, но забыл о нем. Сейчас обрадовался, что дело в шляпе ) Ну, парсить так парсить.

Evgeny Vlasov
Понял. Распарсить в лист, порезать и перегнать обр...

оно может и в шляпе, только для уточненной постановки задачи придется сильно дольше вспоминать... он же ограниченный.

Evgeny Vlasov
Ага

и не надо листы, только df. fs + xml2 + dplyr + tidyr с листами итерировать надо, с прямоугольными данными всегда проще. оперативку можно не экономить в угоду удобству вычислений (да и надо то копейки)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта