Обновите файл XML на Google Диске через Google API - PullRequest
0 голосов
/ 07 февраля 2019

Допустим, у меня есть этот минимальный XML-файл на Google Диске.

<?xml version="1.0" encoding="UTF-8"?>
<MyCounter>
  <counter>137</counter>
</MyCounter>

Используя Google Script, я хочу:

  1. разобрать XML
  2. добавьте 1 к счетчику
  3. обновите файл.

Сейчас я на шаге 2.Я могу удалить старый файл и создать новый с тем же именем и обновленным содержимым.Вместо этого я предпочитаю обновить существующий, чтобы он сохранял уникальный идентификатор, и я могу получить доступ к файлу с указанным идентификатором, а не искать его по имени файла.

1 Ответ

0 голосов
/ 07 февраля 2019
  • Вы хотите обновить текстовый файл на вашем Google Диске без изменения идентификатора файла.
  • Вы хотите добавить от 1 до 137 из <counter>137</counter> в файле.
  • Вы хотите достичь выше, используя Google Apps Script.

Если мое понимание верно, как насчет этого примера скрипта?Я думаю, что есть несколько ответов для вашей ситуации.Поэтому, пожалуйста, подумайте об этом как об одном из них.

Поток:

  1. Извлечение данных из текстового файла.
  2. Добавление 1 к number из <counter>{number}</counter> используя replace().
  3. Обновите файл, используя setContent().

. Таким образом, файл может быть обновлен без изменения идентификатора файла.

Примерскрипт:

var fileId = "#####"; // Please set fileId here.
var file = DriveApp.getFileById(fileId);
var str = file.getBlob().getDataAsString();
var r = str.replace(/<counter>(\d+)<\/counter>/, function(_, p) {
  return "<counter>" + (Number(p) + 1) + "</counter>";
});
file.setContent(r);

Примечание:

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

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...