Скрипт Google Apps, тип элемента «meta» должен завершаться соответствующим конечным тегом «»

#html #google-apps-script #html-parsing

#HTML #google-apps-script #html-синтаксический анализ

Вопрос:

Моя цель — создать программу, которая будет захватывать таблицы, полученные через gmail, и добавлять их в существующую таблицу Google.

Первая часть проекта заключается в получении таблиц из gmail; поэтому я написал следующий код:

  function getEmail (){
  var labels = GmailApp.getUserLabelByName('test');
  var threads = labels.getThreads();
  for(var x=0;x<threads.length;x  ){
    var msg = threads[x].getMessages();
    for(var i=0;i<msg.length;i  ){
      var subject = msg[i].getBody();
      var date = msg[i].getDate();
//      var xml = subject   "</meta>" ;
//      var xml = "<root>"   subject   "</root>" ;   
      var doc = XmlService.parse(subject);
      var content = doc.getAllContent();
      Logger.log(date)
      Logger.log(content)
    }
  }
 }
 

Ошибка, которую я получаю, выглядит следующим образом:

 Exception: Error on line 32: The element type "meta" must be terminated by the matching end-tag "</meta>".
getEmail    @ Code.gs:11
 

Я нашел решение либо: добавление конечного тега ‘ ‘, либо добавление ‘/’ к тегу заголовка. Как я могу выполнить любой из них?

Это текущий HTML-мета-тег для всех возвращаемых сообщений:

 <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta content="en">
 

Обновить-
Я попытался использовать библиотеку синтаксического анализа html GOS; но я получаю ту же ошибку.

Мне нужно руководство о том, как найти мета-теги и изменить их.

Спасибо!

Комментарии:

1. Похоже, у вас отсутствует открывающий <meta> тег

2. XmlService.parse Скрипт Google Apps работает плохо. Вам следует подумать о том, чтобы i) использовать синтаксический анализатор libray, ii) создать свой единственный синтаксический анализатор или iii) извлечь с помощью регулярного выражения

3. Проверьте библиотеку Cheerio для GAS.

4. Мне не хватает закрывающего тега </meta>. Но это не требуется в HTML. Итак, я имею в виду, что мне нужно добавить: 1) закрывающий мета-тег, 2) ‘/’ к открывающему тегу, поскольку <meta/> является приемлемым

5. Я использовал другую библиотеку синтаксического анализатора (Gas); и я получаю ту же ошибку. Таким образом, это все еще указывает на необходимость добавления закрывающего мета-тега к html-объекту