diff --git a/Hcs.WebApp/Components/Pages/Test/Export.razor b/Hcs.WebApp/Components/Pages/Test/Export.razor index f7c1bac..69e0ab0 100644 --- a/Hcs.WebApp/Components/Pages/Test/Export.razor +++ b/Hcs.WebApp/Components/Pages/Test/Export.razor @@ -29,10 +29,10 @@ - + - + @@ -45,6 +45,8 @@ @code { EventConsole console = default!; bool inputDisabled = false; + RadzenTextArea messageTextArea; + RadzenTextArea responseTextArea; string messageBody; string responseBody; @@ -85,7 +87,8 @@ { catchMessageBody = false; - messageBody = File.ReadAllText(fileName); + messageBody = XmlBeautifier.Beautify(File.ReadAllText(fileName)); + messageTextArea.Rows = messageBody.Count(c => c.Equals('\n')) + 2; } } @@ -96,7 +99,7 @@ StartExport(); await client.Nsi.ExportDataProviderNsiItemAsync(exportDataProviderNsiItemRequestRegistryNumber.Item1); - + EndExport(); } catch @@ -118,6 +121,7 @@ void EndExport() { inputDisabled = false; - responseBody = File.ReadAllText(messageCapturer.LastFileName); + responseBody = XmlBeautifier.Beautify(File.ReadAllText(messageCapturer.LastFileName)); + responseTextArea.Rows = responseBody.Count(c => c.Equals('\n')) + 2; } } diff --git a/Hcs.WebApp/XmlBeautifier.cs b/Hcs.WebApp/XmlBeautifier.cs new file mode 100644 index 0000000..69ca568 --- /dev/null +++ b/Hcs.WebApp/XmlBeautifier.cs @@ -0,0 +1,29 @@ +using System.Text; +using System.Xml; +using System.Xml.Linq; + +namespace Hcs.WebApp +{ + internal static class XmlBeautifier + { + internal static string Beautify(string xml) + { + var stringBuilder = new StringBuilder(); + + var settings = new XmlWriterSettings + { + OmitXmlDeclaration = true, + Indent = true, + NewLineOnAttributes = true + }; + + using (var xmlWriter = XmlWriter.Create(stringBuilder, settings)) + { + var element = XElement.Parse(xml); + element.Save(xmlWriter); + } + + return stringBuilder.ToString(); + } + } +}