Возврат XML Carraige пропал после публикации - PullRequest
2 голосов
/ 08 апреля 2011

Я пользователь Linux.У меня есть файл XML вызова config.xml.ниже заголовок файла:

<?xml version='1.0' encoding='UTF-8'?>
<project>
  <actions/>
  <description></description>
  <logRotator>
    <daysToKeep>-1</daysToKeep>
    <numToKeep>10</numToKeep>
...

Я пытаюсь опубликовать его, используя:

curl --user "ИМЯ ПОЛЬЗОВАТЕЛЯ: ПАРОЛЬ" -X POST -d "@config.xml "-H" Content-Type: text / xml; charset = utf-8 "http://example.com

файл config.xml публикуется, однако содержимое выходит без возврата каретки.такие как:

<?xml version="1.0" encoding="UTF-8"?><project>  <actions/>  <description/>  <logRotator>    <daysToKeep>-1</daysToKeep>    <numToKeep>10</numToKeep> ...

Тесты, которые были выполнены до сих пор:

  • Я фактически запустил "od -tc config.xml", и оригинальный файл содержитСимвол "\ r", однако опубликованный xml-файл не содержит его.

  • Я попытался отправить его, используя тип содержимого "application / xml" и "plain / text", новсе так же.(Я думал, что, возможно, возврат каретки будет сохранен с двоичным типом или типом ascii)

  • Я попытался запустить unix2dos, чтобы, возможно, добавить "\ n" в конец строк, которые онделает (проверено с использованием od -tc), однако это также не решает проблему.

Пожалуйста, дайте мне знать, если я должен сделать что-то еще?

ps

, если это поможет, это связано с сервером сборки hudson и размещением файла config.xml для задачи, которая уже существует.

Спасибо

1 Ответ

3 голосов
/ 09 апреля 2011

вместо использования параметра curl -d (или --data), используйте тот, который сохраняет файл:

   --data-binary <data>
          (HTTP) This posts data exactly as specified with no extra pro‐
          cessing whatsoever.
...