Формат строка XML для печати дружественной строки XML

При копировании в настольную машину используйте 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
164
задан nbulba 14 October 2011 в 09:20
поделиться

4 ответа

Используйте 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;
}
172
ответ дан 23 November 2019 в 21:10
поделиться

Вам нужно будет как-то разобрать содержимое ... Я считаю, что использование 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 опущены для краткости]

293
ответ дан 23 November 2019 в 21:10
поделиться

Проверьте следующую ссылку: Как красиво распечатать 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;
}
6
ответ дан 23 November 2019 в 21:10
поделиться

если вы загружаете XMLDoc, я почти уверен, что функция .ToString () обладает перегрузкой для этого.

Но это для отладки? Причина, по которой он отправляется таким образом, заключается в том, чтобы занимать меньше места (т. Е. Удаление ненужных пробелов из XML).

0
ответ дан 23 November 2019 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: