У меня есть данные XML для многих научных публикаций, и я пытаюсь проанализировать данные в KNIME, чтобы извлечь нужные мне поля. Вот один пример: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=pmc&id=PMC4400176
Чтобы извлечь имена авторов, я использую следующий запрос XPath: /pmc-articleset/article/front/article-meta/contrib-group/contrib[@contrib-type="author"]
Однако, это возвращает:
BorisovaSvetlana A., KimHak Joong, PuXiaotao, LiuHung-wen*
Я бы хотел, чтобы фамилии и имена разделялись неким разделителем, запятой / пробелом, а имена разных авторов разделялись точкой с запятой. Это возможно? Или есть лучший способ извлечения информации по сравнению с тем, что я сейчас делаю, который позволил бы мне достичь идеального результата:
Borisova, Svetlana A.; Kim, Hak Joong; Pu, Xiaotao; Liu, Hung-wen*
[править]
Текущий рабочий процесс KNIME:
Пример токового выхода:
Я попытался получить все имена авторов для всех публикаций, выводимых в ячейку коллекции. (Если у меня есть все имена, выводимые в несколько столбцов, это приводит к созданию сотен столбцов, содержащих пропущенные значения. Я даже пытался добиться идеального результата, используя множественные манипуляции со строками, но это все же не так идеально, из-за некоторых имена авторов, имеющие несколько имен, дефисных имен или имен, содержащих специальные символы.) Ячейка коллекции объединяет все имена авторов с разделителем-запятой между именами каждого автора, но объединяет фамилии и имена-имена. Я также могу выполнить те же вышеупомянутые манипуляции со строками, но все же сталкиваюсь с теми же проблемами, что и упомянутые.
Если я разделю имена авторов на несколько строк, это создаст несколько строк для каждой статьи, из чего я не уверен, как добраться до конечной цели для каждой статьи.
Конечная цель:
Любые идеи о том, как решить эту проблему с авторами, будут высоко оценены!