powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка при разборе XML
7 сообщений из 7, страница 1 из 1
Ошибка при разборе XML
    #39777568
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вот такой код:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
procedure TForm1.Button5Click(Sender: TObject);
var
xml: string;
http : TIdHttp;
req  : TIdMultiPartFormDataStream;
data : TStream;
resp,resp2: TStringStream;
N: IXMLNode;
begin
        http := TIdHTTP.Create(nil);
                      http.Intercept:=IdLogFile1;
                     IdLogFile1.Active:=true;
                    data := TBytesStream.Create(TEncoding.Utf8.GetBytes(xml));
                    req := TIdMultiPartFormDataStream.Create;
                    req.AddFormField('xml_file', 'text/xml', 'utf-8', data, 'client.xml');
                    resp := TStringStream.Create;
                    resp2 := TStringStream.Create;
                  try
                  http.Get('http://10.10.1.233:8080/opt/out?replyId=3f194a84-49af-46ef-b145-2612896ed4a8', resp);
                  finally
                  ShowMessage(http.Response.ResponseText);
              //    memo1.Lines.append(resp.DataString);
                  XMLDocument1.XML.Text := resp.DataString;
                  XMLDocument1.Active:=true;
               //   memo1.Lines.Add(VarToStr(XMLDocument1.DocumentElement.ChildValues[0]));
                  http.Get(VarToStr(XMLDocument1.DocumentElement.ChildValues[0]), resp2);
                  XMLDocument2.XML.Text := resp2.DataString;
[color=red]                   memo1.Lines.append(resp2.DataString);
                  memo1.Lines.Add('а вот тут ошибка');[/color]
                  XMLDocument2.Active:=true;
                  memo1.Lines.append(resp2.DataString);
                  memo1.Lines.Add('10');
                  memo1.Lines.Add(GetNodeValue(XMLDocument2,'ns:Document/ns:Ticket/tc:Result/tc:Comments'));
                  resp.Free;
                  end;

end;



Отправляет запрос на сервер, получает ответ, по ответу делает ещё запрос и разбирает его. На последнем получаю ошибку:
Ошибка в элементе верхнего уровня документа.

Line: 1

п»ї<?xml version="1.0" encoding="utf-8"?.

ну и сам xml в выводе на memo выглядит странно:

п»ї<?xml version="1.0" encoding="utf-8"?>

<ns:Documents xmlns:tc=" http://fsrar.ru/WEGAIS/Ticket" xmlns:oref=" http://fsrar.ru/WEGAIS/ClientRef" xmlns:ns=" http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" Version="1.0">

<ns:Owner>

<ns:FSRAR_ID>3463047</ns:FSRAR_ID>

</ns:Owner>

<ns:Document>

<ns:Ticket>

<tc:TicketDate>2019-02-21T15:47:38.4059084</tc:TicketDate>

<tc:Identity />

<tc:DocId>D8FE693C-061E-4FFB-A7E0-08EBAD56ECE9</tc:DocId>

<tc:TransportId>3f194a84-49af-46ef-b145-2612896ed4a8</tc:TransportId>

<tc:RegID />

<tc:DocHash />

<tc:DocType>QueryResendDoc</tc:DocType>

<tc:Result>

<tc:Conclusion>Rejected</tc:Conclusion>

<tc:ConclusionDate>2019-02-21T15:47:38.4059084</tc:ConclusionDate>

<tc:Comments>Накладная не найдена или предназначена другому грузополучателю Владелец ["020000442214"].

</tc:Comments>

</tc:Result>

</ns:Ticket>

</ns:Document>

</ns:Documents>



хотя на сервере он :
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?xml version="1.0" encoding="utf-8"?>
<ns:Documents xmlns:tc="http://fsrar.ru/WEGAIS/Ticket" xmlns:oref="http://fsrar.ru/WEGAIS/ClientRef" xmlns:ns="http://fsrar.ru/WEGAIS/WB_DOC_SINGLE_01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.0">
  <ns:Owner>
    <ns:FSRAR_ID>3463047</ns:FSRAR_ID>
  </ns:Owner>
  <ns:Document>
    <ns:Ticket>
      <tc:TicketDate>2019-02-21T15:47:38.4059084</tc:TicketDate>
      <tc:Identity />
      <tc:DocId>D8FE693C-061E-4FFB-A7E0-08EBAD56ECE9</tc:DocId>
      <tc:TransportId>3f194a84-49af-46ef-b145-2612896ed4a8</tc:TransportId>
      <tc:RegID />
      <tc:DocHash />
      <tc:DocType>QueryResendDoc</tc:DocType>
      <tc:Result>
        <tc:Conclusion>Rejected</tc:Conclusion>
        <tc:ConclusionDate>2019-02-21T15:47:38.4059084</tc:ConclusionDate>
        <tc:Comments>Накладная не найдена или предназначена другому грузополучателю Владелец ["020000442214"]. 
</tc:Comments>
      </tc:Result>
    </ns:Ticket>
  </ns:Document>
</ns:Documents>



помогите понять что не так
...
Рейтинг: 0 / 0
Ошибка при разборе XML
    #39777574
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

BOM надо убрать
...
Рейтинг: 0 / 0
Ошибка при разборе XML
    #39777576
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovGallemar,

BOM надо убрать

как? сервер закрыт, xml получаю как есть
...
Рейтинг: 0 / 0
Ошибка при разборе XML
    #39777581
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ибо нефиг конвертировать UTF-8 с BOM в UTF-16
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
resp := TMemoryStream.Create;
try
  http.Get('http://10.10.1.233:8080/opt/out?replyId=3f194a84-49af-46ef-b145-2612896ed4a8', resp);
  resp.Position := 0;
  XMLDocument1.LoadFromStream(resp);
finally
  resp.Free;
end;
...
Рейтинг: 0 / 0
Ошибка при разборе XML
    #39777582
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarasviridenkovGallemar,

BOM надо убрать

как? сервер закрыт, xml получаю как есть
На клиенте. Отбрасывай начальные символы: п»ї
...
Рейтинг: 0 / 0
Ошибка при разборе XML
    #39777585
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
Ошибка при разборе XML
    #39777594
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл ЭраНа клиенте. Отбрасывай начальные символы: п»їЗачем учить неправильно?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Ошибка при разборе XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]