HTML 表单编辑器 – C#
Contents
[
Hide
Show
]HTML 表格元素
HTML Form Element 表示包含用于提交用户信息的输入控件的部分。使用我们的库,您可以轻松完成 HTML 表单,并直接从 C# 应用程序中发送数据。为了使这一过程更加轻松,我们设计了 Aspose.Html.Forms 命名空间。该命名空间的主要元素是 FormEditor。它允许您在文档中查找现有表单,从头开始创建一个新表单,遍历元素,填充数据,并将信息发送到远程服务器。
在本文中,您将学习如何使用 FormEditor 对象来操作文档中的 HTML 表单、输入控件和提交信息。为了测试目的,我们使用 https://httpbin.org 服务设计的表单。
如何使用表单编辑器
让我们来看看演示如何使用 Aspose.Html.Forms 命名空间以编程方式填写和提交 HTML 表单的 C# 代码片段。您需要遵循以下步骤:
- 使用 HTMLDocument(url) 构造函数创建 HTMLDocument 类的新实例。指定要填写和提交的 HTML 表单的 URL。
- 使用 Create(document, index) 方法创建一个 FormEditor 类实例,并在其中传递 HTMLDocument 实例和要编辑的表单的索引(值 0 指 HTML 文档中的第一个表单)。
- 通过直接访问输入元素来填写数据,并将填写好的 HTML 表单保存到文件中。表单字段可使用 “编辑器 “对象访问和修改。
- 使用 FormSubmitter(editor) 构造函数创建 FormSubmitter 类的实例。
- 调用 FormSubmitter 类的 Submit() 方法提交表单。
- 使用
IsSuccess 属性检查表单提交结果的状态。如果表单提交成功,则检查服务器的响应:
- 如果响应是 JSON 格式,则将 JSON 内容打印到控制台;
- 否则,使用 LoadDocument() 方法将响应加载到另一个 HTMLDocument 实例中,以供进一步检查。
1// How to to programmatically fill and submit an HTML form in C#
2
3// Initialize an instance of HTML document
4using (HTMLDocument document = new HTMLDocument(Path.Combine(DataDir, "form.html")))
5{
6 // Create an instance of Form Editor
7 using (FormEditor editor = Aspose.Html.Forms.FormEditor.Create(document, 0))
8 {
9 // You can fill the data up using direct access to the input elements, like this:
10 editor["custname"].Value = "John Doe";
11
12 document.Save("out.html");
13
14 // or this:
15 TextAreaElement comments = editor.GetElement<Aspose.Html.Forms.TextAreaElement>("comments");
16 comments.Value = "MORE CHEESE PLEASE!";
17
18 // or even by performing a bulk operation, like this one:
19 editor.Fill(new Dictionary<string, string>()
20 {
21 {"custemail", "john.doe@gmail.com"},
22 {"custtel", "+1202-555-0290"}
23 });
24
25 // Create an instance of form submitter
26 using (FormSubmitter submitter = new Aspose.Html.Forms.FormSubmitter(editor))
27 {
28 // Submit the form data to the remote server
29 // If you need you can specify user-credentials and timeout for the request, etc.
30 SubmissionResult result = submitter.Submit();
31
32 // Check the status of the result object
33 if (result.IsSuccess)
34 {
35 // Check whether the result is in json format
36 if (result.ResponseMessage.Headers.ContentType.MediaType == "application/json")
37 {
38 // Dump result data to the console
39 Console.WriteLine(result.Content.ReadAsString());
40 }
41 else
42 {
43 // Load the result data as an HTML document
44 using (Document resultDocument = result.LoadDocument())
45 {
46 // Inspect HTML document here.
47 }
48 }
49 }
50 }
51 }
52}
Aspose.HTML 提供 HTML 网络应用程序,它是免费转换器、合并器、搜索引擎优化工具、HTML 代码生成器、URL 工具等的在线集合。这些应用程序可在任何装有网络浏览器的操作系统上运行,无需安装任何其他软件。无论你身在何处,都能轻松转换、合并、编码、生成 HTML 代码,从网络中提取数据,或从搜索引擎优化的角度分析网页。使用我们的 HTML 网络应用程序集来处理您的日常事务,让您的工作流程天衣无缝!