【发布时间】:2013-04-30 13:40:50
【问题描述】:
我目前正在用 c# 编写一个桌面应用程序,它还必须处理 XHTML 文档操作。为此,我使用了 Html Agility Pack,到目前为止它似乎还可以。在仔细检查了 Html Agility Pack 的输出后,我发现代码不再是格式良好的 xhtml。
它会删除自闭合标签(斜杠)并覆盖其他专有代码元素...
例如。 输入html代码:
<input autocapitalize="off" id="username" name="username" placeholder="Benutzername" type="text" value="$(username)" />
例如。 输出html代码
<input autocapitalize="off" id="username" name="username" placeholder="Benutzername" type="text" value="$(username)">
(删除了斜杠...)
另一个例子是专有代码元素(用于 Mikrotik 热点设备):
例如输入html代码
<form action="$(link-login-only)" method="post" name="login" $(if chap-id) onSubmit="return doLogin()"$(endif)>
$(if chap-id)、$(endif) 和 $(link-login-only) 部分是从 Mikrotik 设备解释的自定义代码片段。
例如。 在 Html Agility Pack 之后输出 html 代码(将其转换为不可用的代码)
<form action="$(link-login-only)" method="post" name="login" $(if="" chap-id)="" onsubmit="return doLogin()" $(endif)="">
有人知道如何“指导” Html Agility Pack 输出格式良好的 XHTML 并忽略“自定义代码”片段(这可能是通过正则表达式)吗?
提前致谢! :-)
【问题讨论】:
-
为什么不使用 XML 解析器而不是 HAP(它是一个 HTML,而不是 XHTML/XML 解析器)?来自 codplex 上的项目页面:“也没有遵守 XHTML 或 XML,尽管您实际上可以使用该工具生成 XML。”
-
你试过
htmlDocument.Save(XmlWriter); -
@I4V 我用
htmlDocument.Save()-method 保存 -
@thedom 这里的关键字是
XmlWriter
标签: c# xhtml html-agility-pack