Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

Как генерировать html через c# [закрыт]

#c_sharp #html


        
             
                
                    
                        
                            Закрыт. Этот вопрос не по теме. Ответы на него в данный
момент не принимаются.
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            Хотите улучшить этот вопрос? Переформулируйте вопрос,
чтобы он соответствовал тематике «Stack Overflow на русском».
                        
                        Закрыт 2 года назад.
                                                                                
           
                
        
Нужно генерировать простенькую страничку, в которой будет меняться заголовок, немного
текста и добавляться, убавляться элементы списка. Как делать в html-знаю, но в c# пытаюсь
записать такую инфу в файл, определяя кавычки слешами - документ записывается в файл
правильно, и в блокноте все теги, закрывающие открывающие и кавычки на месте, но браузер
не видит в этом тексте разметку. Может дело в том, что кавычки при обрамлении их слешем
не такие как нужно встают?

UPD: проблема была возможно вызвана тем, что html код  html в с# visual studio при
вставке получает лишние пробелы между спецсимволами (<>), и я считаю что это требует
обсуждения и внимания а не является банальной опечаткой.

Файл html который получается

 string content2 = System.String.Format(
            "" +
            "" +
            " Документы {0} {1}" +
            "< link href =\"../../favicon.ico\" rel=\"icon\" type=\"image/x icon\" />"+
            "< link href =\"../../favicon.ico\" rel=\"shortcut icon\" 
type=\"image/x-icon\" />"+
            "< link rel =\"stylesheet\" href=\"../../css.css\" 
type=\"text/css\" />"+
            "" +
            "" +
            "{0} {1}" +
            "" +
            "", date, textBox_title.Text);

        #endregion

        File.WriteAllText("index.html", content2);

    


Ответы

Ответ 1



В соответствии со спецификацией HTML п. 12.1.2.1 первый символ открывающего тега - символ <, а следующие символы должны представлять имя тега. Таким образом, пробел после < делает HTML невалидным, и, поэтому, он не воспринимается браузером. Следует удалить пробелы, например:

Ответ 2



На мой взгляд, лучше использовать какой-нибудь HTML парсер, который позволяет работать c HTML подобно XDocument.

Комментариев нет:

Отправить комментарий