DGKumar Ответов: 3

Как увеличить время загрузки преобразованного XML в HTML?


У меня есть xml-файл, который содержит тысячи строк данных.
Я преобразовал этот xml-файл в html, который он отображает в соответствии с моими требованиями.
Но это занимает больше, чем 1 минута, чтобы загрузить полные данные на странице(MVC4 с cshtml) на.

Не могли бы вы посоветовать мне, как увеличить скорость загрузки для просмотра контента?

Что я уже пробовал:

private static string ConvertXmlToHtmlTable(string xml)
    {
        //StringBuilder html = new StringBuilder("<table style="color#555;">");
        StringBuilder html = new StringBuilder("<!DOCTYPE html><html><body>");

        try
        {
            XDocument xDocument = XDocument.Parse(xml);
            XElement root = xDocument.Root;

            var xmlAttributeCollection = root.Elements().Attributes();
            #region Headings

            
            
            #endregion Headings
            
            foreach (var ele in root.Elements())
            {
                if (!ele.HasElements)
                {
                    string elename = "";




                    if (ele.HasAttributes)
                    {
                        IEnumerable<xattribute> attribs = ele.Attributes();
                        foreach (XAttribute attrib in attribs)
                        {
                            //elename += attrib.Name.ToString() + "=" + attrib.Value.ToString();
                            elename += attrib.Value.ToString() + "<span style="padding-removed30px;"></span>";
                        }

                    }


                    html.Append("<span id="elename" style="font-size:13px;padding-removed30px;">" + elename + "</span>");
                    html.Append("<span id="ele.Value" style=" font-size:13px;padding-removed30px;">" + ele.Value + "</span>");
                    

                    html.Append("<br />");

                }

                else
                {

                    string xmlValues = "";




                    if (ele.HasAttributes)
                    {
                        IEnumerable<xattribute> attribs = ele.Attributes();
                        foreach (XAttribute attrib in attribs)
                            //    elename += Environment.NewLine + attrib.Name.ToString() + "=" + attrib.Value.ToString();
                            xmlValues += Environment.NewLine + attrib.Value.ToString() + "<span style="padding-removed30px;"></span>";

                    }


                    html.Append("<span id="xmlValues" style="font-size:13px;padding-removed30px;">" + xmlValues + "</span>");

                    html.Append("<br /><span id="ConvertXmlToHtmlTable" style="width:300px;">" + ConvertXmlToHtmlTable(ele.ToString()) + "</span>");
                    
                    html.Append("<br />");
                }
            }
            
            html.Append("</body></html>");
        }
        catch (Exception e)
        {
            return xml;
            // Returning the original string incase of error.
        }
        return html.ToString();
    }

Richard Deeming

Начните с профилирования кода. Вполне вероятно, что большая часть времени будет потрачена браузером на загрузку и анализ вашего массивного HTML-файла, который вы не можете контролировать. Единственным решением этой проблемы было бы уменьшить количество возвращаемых записей.

DGKumar

Привет
Спасибо за ответ ,
Xml-файлы преобразуются и хранятся в строку с меньшими затратами времени.
но при отображении данных в html требуется слишком много времени.
Может быть, html-контент высок.
Как увеличить скорость загрузки контента в html.

Patrice T

Сколько записей в XML и размер XML ?

DGKumar

Привет
Спасибо за ответ ,
Xml-файлы преобразуются и хранятся в строку с меньшими затратами времени.
но при отображении данных в html требуется слишком много времени.
Может быть, html-контент высок.
Как увеличить скорость загрузки контента в html.

Richard Deeming

Тогда проблема заключается либо в том, сколько времени требуется для передачи данных по сети, либо в том, сколько времени требуется браузеру для анализа и отображения HTML-кода.

Если не платить за обновление сетевых подключений и компьютеров ваших пользователей, единственное, что вы можете сделать для повышения скорости, - это загрузить меньше данных.

Либо предоставьте средство фильтрации загружаемых данных, либо разделите их на несколько страниц, либо каким-то образом суммируйте данные. Как вы это сделаете, будет зависеть от того, что вы будете делать с данными после их загрузки.

Помните, что пользователь не собирается читать тысячи строк данных только для того, чтобы найти нужную ему строку.

DGKumar

Всем Привет,
Я очень счастлив, что просто тег, который является удивительным HTML-тег-это решение моего вопроса.
В string каждая вещь готова к отображению, но я боролся с тем, как быстро отобразить ее в html-представлении. Наконец я понял, что поместил свою html-строку между тегами pre. Теперь с помощью in second данные отображаются.
Спасибо всем и каждому за поддержку.

Mehdi Gholam

Если xml не сильно меняется, попробуйте сгенерировать html один раз и сохранить его для последнего и использовать сохраненную версию.

DGKumar

Привет
Спасибо за ответ ,
Xml-файлы преобразуются и хранятся в строку с меньшими затратами времени.
но при отображении данных в html требуется слишком много времени.
Может быть, html-контент высок.
Как увеличить скорость загрузки контента в html.

3 Ответов

Рейтинг:
16

DGKumar

Hi All,
I am very happy that the simple pre tag whihc is amazing html tag is resolving my issue.
In string every thing is ready to display but i have been struggling that how to display in html view quickly. Finally i implemented that i have put my html string between pre tag. Now with in second the data is displaying.
Thank you one and all for support.


Рейтинг:
1

Maciej Los

Что ж, я бы настоятельно рекомендовал прочитать это: Преобразование XML в HTML[^] и это: Глава 9-повышение производительности XML[^].

Все, что я пытаюсь сказать: вы должны использовать преобразование xml через xslt, чтобы иметь возможность увеличить процесс преобразования xml в html.
Попробуй!


Рейтинг:
0

Patrice T

Самая очевидная проблема, которую я вижу, заключается в том, что ваш код не компилируется:

html.Append("<span id="elename" style="font-size:13px;padding-removed30px;">" + elename + "</span>");
                    html.Append("<span id="ele.Value" style=" font-size:13px;padding-removed30px;">" + ele.Value + "</span>");

это не законно.

Я думаю, что публикация реального кода, о котором идет речь,поможет.