Элемент управления HTML в XHTML WebBrowser - PullRequest
0 голосов
/ 05 марта 2010

Я использую элемент управления .NET WebBrowser в режиме редактирования как часть интерфейса для конечных пользователей для создания разделов содержимого HTML для вставки на различные веб-сайты. У них был очень урезанный список доступных тегов, таких как <p>, <br>, <a href>, <strong>, <ul> <li>..., они не могли применить форматирование поверх тегов, как это было определено конкретными веб-страницами css. Эта система работала хорошо до сих пор.

К сожалению, теперь мне нужно, чтобы xhtml входил в более крупный документ xml для целей агрегирования различными другими веб-сайтами. Кажется, главная проблема WebBrowsers заключается в списках, где он создает:

<UL><LI>Item1
<LI>item2 
<LI>item3</LI></UL>

Существует ли хорошая библиотека конвертера, чтобы исправить это, или я могу заставить элемент управления WebBrowser создавать XHTML? Я пробовал HTMLAgilityPack, но он преобразовал в XHTML, выполнив что-то вроде:

<UL><LI>Item1
<LI>item2 
<LI>item3</LI></LI></LI></UL>

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

Ответы [ 2 ]

1 голос
/ 29 марта 2010

Попробуй это. http://tidy.sourceforge.net/

0 голосов
/ 05 марта 2010

Вы, должно быть, используете Internet Explorer, который является единственным браузером, о котором я могу подумать, который не закрывает теги элементов списка в разделе, редактируемом содержимым. Кроме того, теги должны быть строчными, что является другой раздачей.

Стоит проверить, что вы отправляете правильный тип документа в браузер, так как это может решить вашу проблему (т.е. убедитесь, что редактируемый бит определенно является страницей XHTML). Кроме этого, вы можете управлять им, имея редактируемую область в виде простого текста с некоторой пользовательской (ish) разметкой и областью предварительного просмотра ниже. Хм ... немного похоже на переполнение стека. Таким образом, вы можете создать точную разметку, которую вы хотите, а не полагаться на то, что генерирует браузер.

...