могу, но мне нужно сохранить в виде XML же.
Предположим, есть файл, набитый тегами <book>, в которых хранятся все данные по книгам. Мне нужно из этого сделать файл, где будут только те <book>, где author == 'Karl Marx'.
https://msiter.ru/tutorials/xslt/transformation
Я понял, как найти узлы, где автор "Маркс". А как найти все узлы, где автор входит в список? Например, есть вектор a <- c('маркс','энгельс','каутский','плеханов','троцкий'), как мне получить все книги, авторы которых мы входят в список? Список может быть больше пятидесяти, вручную перебирать не вариант.
Ну, наверное, поиском в гугле. - 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()/ В целом, мне импонирует такой подход. Сначала маленький "как бы абстрактный вопросик" по мифическому набору, потом из-за спины вытаскивается айсберг. Может лучше с самого начала сформулировать честную задачу с реальными данными? В большинстве случаев оказывается, что решение вообще будет в перпендикулярной плоскости.
Есть куча ссылок на XML файлы, в которых списки машин штук по двадцать. В каждом файле просто куча тегов <сar>, внутри каждого информация о машине, в том числе vin номер. Есть отдельно список vin номеров, дернутый из другого места. По каждой ссылке нужно выбрать только те <car>, <vin> которых входит в этот список. Желательно склеить это в один XML файл, но это уже дело десятое.
https://agricolamz.github.io/DS_for_DH/lists.html
может не надо про дело десятое думать на первом шаге? тогда и xslt не потребовалось бы ковырять. в R все решается на раз-два. Считали, распарсили, разобрали, сохранили делов будет на экран
Понял. Распарсить в лист, порезать и перегнать обратно в XML. Просто я на заре карьеры сталкивался с XSLT, но забыл о нем. Сейчас обрадовался, что дело в шляпе ) Ну, парсить так парсить.
оно может и в шляпе, только для уточненной постановки задачи придется сильно дольше вспоминать... он же ограниченный.
и не надо листы, только df. fs + xml2 + dplyr + tidyr с листами итерировать надо, с прямоугольными данными всегда проще. оперативку можно не экономить в угоду удобству вычислений (да и надо то копейки)
Обсуждают сегодня