При копировании в настольную машину используйте WinSCP, или если на Linux, Наутилус поддерживает SCP через Подключение К Параметру сервера.
scp может только скопировать файлы в машину, работающую sshd, следовательно необходимо выполнить клиентское программное обеспечение на удаленной машине от той, которая Вы работаете на scp.
При копировании на командной строке, используйте:
# copy from local machine to remote machine
scp localfile user@host:/path/to/whereyouwant/thefile
или
# copy from remote machine to local machine
scp user@host:/path/to/remotefile localfile
Используйте XmlTextWriter ...
public static string PrintXML(string xml)
{
string result = "";
MemoryStream mStream = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(mStream, Encoding.Unicode);
XmlDocument document = new XmlDocument();
try
{
// Load the XmlDocument with the XML.
document.LoadXml(xml);
writer.Formatting = Formatting.Indented;
// Write the XML into a formatting XmlTextWriter
document.WriteContentTo(writer);
writer.Flush();
mStream.Flush();
// Have to rewind the MemoryStream in order to read
// its contents.
mStream.Position = 0;
// Read MemoryStream contents into a StreamReader.
StreamReader sReader = new StreamReader(mStream);
// Extract the text from the StreamReader.
string formattedXml = sReader.ReadToEnd();
result = formattedXml;
}
catch (XmlException)
{
// Handle the exception
}
mStream.Close();
writer.Close();
return result;
}
Вам нужно будет как-то разобрать содержимое ... Я считаю, что использование LINQ - самый простой способ сделать это . Опять же, все зависит от вашего точного сценария. Вот рабочий пример использования LINQ для форматирования входной XML-строки.
string FormatXml(string xml)
{
try
{
XDocument doc = XDocument.Parse(xml);
return doc.ToString();
}
catch (Exception)
{
// Handle and throw if fatal exception here; don't just ignore them
return xml;
}
}
[операторы using опущены для краткости]
Проверьте следующую ссылку: Как красиво распечатать XML (К сожалению, ссылка теперь возвращает 404: ()
Метод в ссылке принимает строку XML в качестве аргумента и возвращает правильно сформированную (с отступом) XML-строку.
Я просто скопировал образец кода из ссылки, чтобы сделать этот ответ более полным и удобным.
public static String PrettyPrint(String XML)
{
String Result = "";
MemoryStream MS = new MemoryStream();
XmlTextWriter W = new XmlTextWriter(MS, Encoding.Unicode);
XmlDocument D = new XmlDocument();
try
{
// Load the XmlDocument with the XML.
D.LoadXml(XML);
W.Formatting = Formatting.Indented;
// Write the XML into a formatting XmlTextWriter
D.WriteContentTo(W);
W.Flush();
MS.Flush();
// Have to rewind the MemoryStream in order to read
// its contents.
MS.Position = 0;
// Read MemoryStream contents into a StreamReader.
StreamReader SR = new StreamReader(MS);
// Extract the text from the StreamReader.
String FormattedXML = SR.ReadToEnd();
Result = FormattedXML;
}
catch (XmlException)
{
}
MS.Close();
W.Close();
return Result;
}
если вы загружаете XMLDoc, я почти уверен, что функция .ToString () обладает перегрузкой для этого.
Но это для отладки? Причина, по которой он отправляется таким образом, заключается в том, чтобы занимать меньше места (т. Е. Удаление ненужных пробелов из XML).