Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HTML到XHTML WebBrowser控件_C#_Html_Xhtml_Webbrowser Control_Html Agility Pack - Fatal编程技术网

C# HTML到XHTML WebBrowser控件

C# HTML到XHTML WebBrowser控件,c#,html,xhtml,webbrowser-control,html-agility-pack,C#,Html,Xhtml,Webbrowser Control,Html Agility Pack,我一直在使用编辑模式下的.NET WebBrowser控件作为最终用户界面的一部分来创建HTML内容的部分,以便插入到各种网站中。他们有一个非常精简的标签列表,如,,,。他们不能在标签上应用任何格式,因为这是由特定的网页css决定的。到目前为止,这个系统一直运行良好 不幸的是,我现在需要将xhtml放到一个更大的xml文档中,以便其他各种网站进行聚合。WebBrowser的主要问题似乎是它产生以下内容的列表: <UL><LI>Item1 <LI>item2

我一直在使用编辑模式下的.NET WebBrowser控件作为最终用户界面的一部分来创建HTML内容的部分,以便插入到各种网站中。他们有一个非常精简的标签列表,如

他们不能在标签上应用任何格式,因为这是由特定的网页css决定的。到目前为止,这个系统一直运行良好

不幸的是,我现在需要将xhtml放到一个更大的xml文档中,以便其他各种网站进行聚合。WebBrowser的主要问题似乎是它产生以下内容的列表:

<UL><LI>Item1
<LI>item2 
<LI>item3</LI></UL>
  • 项目1
  • 项目2
  • 项目3
是否有一个好的转换器库来解决这个问题,或者我可以强制WebBrowser控件创建XHTML吗?我尝试过HTMLAgilityPack,但它通过以下操作转换为XHTML:

<UL><LI>Item1
<LI>item2 
<LI>item3</LI></LI></LI></UL>
  • 项目1
  • 项目2
  • 项目3

我认为his的设置不恰当,因为肯定标记应该位于每个项目的末尾,尽管它会通过xhtml验证。如果可以的话,当XML最终被放入任何网站时,我是否会在某些浏览器上出现渲染问题?

您必须使用Internet Explorer,这是我能想到的唯一一种不会关闭内容可编辑部分中列表项标记的浏览器。此外,标签应该是小写的,这是另一个送出

值得检查的是,您是否将正确的文档类型发送到浏览器,因为这可能会解决您的问题(即,确保可编辑位绝对是XHTML页面)。除此之外,您还可以通过一个带有一些自定义(ish)标记的纯文本可编辑区域和下面的预览区域来管理它。嗯。。。有点像堆栈溢出。这样,您就可以创建所需的精确标记,而不必依赖浏览器生成的内容。

试试这个。