Я нахожусь в процессе создания сценария для перевода XML-документов. Это на самом деле довольно круто, идея (и она работает) взять XML-файл (или папку XML-файлов) и открыть его, проанализировать XML, получить что-нибудь между некоторыми тегами и с помощью API Google Translate перевести его и замените содержимое XML-файлов.
Как я уже сказал, у меня это работает, но только в довольно строгих документах в формате xml, теперь я должен сделать его совместимым с документами, отформатированными по-другому. Итак, моя идея была:
Разобрать xml, найти узел, например:
<template>lorem lipsum dolor mit amet<think><set name="she">Ada</set></think></template>
Сохраните это как строку, выполните поиск по регулярному выражению и замените эту строку. Но я, к сожалению, понятия не имею, как поступить. Я хочу найти строку (узел xml), найти текст между тегами, в этом случае «lorem lipsum dolor mit amet» и «Ada», вызвать функцию с этим текстом в качестве параметра, а затем вставить результат функции. в том же месте, откуда он возник.
Причина, по которой я не могу просто получить текст и перестроить форматирование xml, заключается в том, что будут XML-узлы с различным форматированием, поэтому мне нужно, чтобы он был идентичным ...