Ошибка XPath

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ошибка XPath

Сообщение lightning » 25.11.2010 19:58:08

Возникла проблема. Пытаюсь использовать функцию EvaluateXPathExpression, выдает ошибку "Unrecognized input after expression". Windows XP Professional Service Pack 2, Lazarus v0.9.28.2. Подскажите решение.
Код: Выделить всё
    ReadXMLFile(ADom, Stream);
    Stream.Position := 0;
    try
      XPathResult := EvaluateXPathExpression('/child::office:document-content/child::office:body/child::office:spreadsheet/child::table:table           
                                                                  /child::table:table-row/child::table:table-cell', ADom);
    except
      on E: Exception do
        ShowMessage('', '',  E.Message );
    end;
lightning
новенький
 
Сообщения: 11
Зарегистрирован: 18.02.2010 17:39:57

Re: Ошибка XPath

Сообщение Sergei I. Gorelkin » 25.11.2010 21:01:39

Оно, может быть (может быть!), заработает, если:
1) Обновиться до svn trunk
2) ReadXMLFile заменить на конструкцию:

Код: Выделить всё
var
  parser: TDOMParser;
  inp: TXMLInputSource;
begin
  parser := TDOMParser.Create;
  parser.Options.Namespaces := True;
  inp := TXMLInputSource.Create(Stream);
  parser.Parse(Src, ADom);
  parser.Free;
end;


3. Передать третьим параметром в EvaluateXPathExpression() объект ADom.DocumentElement.

Недопилено пока, короче говоря...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Ошибка XPath

Сообщение lightning » 30.11.2010 12:32:11

Пробовала все три способа, не помогает, но ошибка уже другая: "Проект вызвал класс исключения 'EDOMNameSpace' с сообщением: EDOMNamespace in TXPathScanner.ParseStep" :(
lightning
новенький
 
Сообщения: 11
Зарегистрирован: 18.02.2010 17:39:57


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30

Рейтинг@Mail.ru