如何序列化输入值 – C# 示例

有时需要保存已填写输入表单字段的 HTML 文档。虽然出于安全原因,浏览器不允许这样做,但 Aspose.HTML 提供了 HTMLSaveOptions 类的 SerializeInputValue 属性,使您可以这样做。如果 HTML 文档中填写了输入字段,使用 “SerializeInputValue “属性,您就可以将生成的文档保存为浏览器中的样子。

本文介绍如何使用 Aspose.HTML for .NET 库序列化 HTML 表单或输入字段中的输入值。

序列化输入值的步骤

有些 HTML 文档包含 HTMLInputElementHTMLTextAreaElement 等表单元素。出于安全原因,它们的值不会被保存,但您可以使用 HTMLSaveOptions 类的 SerializeInputValue 选项来改变这种情况。您应遵循以下必要步骤:

  1. 使用 HTMLDocument 类加载 HTML 文档。您可以从文件、HTML 代码、数据流或 URL 加载 HTML。
  2. 使用 Document 类中的一个 GetElement* 方法获取文档中需要的 HTML 元素,并使用 Value 属性(获取或设置其值)。
  3. 创建 HTMLSaveOptions 类的实例,并将 SerializeInputValue 属性设置为 true
  4. 调用 HTMLDocument 类的 Save(path, saveOptions) 方法,并传入要保存文档的文件路径和 HTMLSaveOptions 实例作为参数。

如何序列化 HTML 表单中的输入值

让我们以表示 HTML 输入元素(如文本框)的 HTMLInputElement 为例,看看如何应用 “SerializeInputValue “属性。请按照逐步说明将输入值序列化到我们从头开始创建的一个简单 HTML 表单中:

  1. 准备 HTML 代码。
  2. 在示例中,我们使用 HTMLDocument (content, baseUri) 构造函数从字符串内容创建 HTML 文档。
  3. 使用 Document 类的 GetElementsByTagName() 方法选择文档中的所有 输入 元素,并将它们存储到 inputElements 变量中。
  4. 在本例中,从生成的集合中选取第一个也是唯一一个 <input> 元素,并设置 HTMLInputElement 类的 Value 属性。
  5. 使用 Save(path, saveOptions) 方法将 HTML 文档保存到文件中。将作为参数传递给 Save() 方法的 HTMLSaveOptions 对象上的 SerializeInputValue 属性设置为 true

下面是一个示例,说明如何使用 Aspose.HTML C# 库将输入字段中的输入值序列化:

 1// Set input value and serialize HTML form element using C#
 2
 3string html = @"
 4<html>
 5    <body>
 6        <div>The new input element value: <input type = ""text"" value=""No"" /></div>
 7    </body>
 8</html>";
 9
10// Create an HTML document from string of code containing an HTMLInputElement
11using HTMLDocument doc = new HTMLDocument(html, string.Empty);
12
13// Get all elements with the <input> tag
14HTMLCollection inputElements = doc.GetElementsByTagName("input");
15
16// Take the first and only element, in this case, from the resulting collection
17HTMLInputElement input = (HTMLInputElement)inputElements[0];
18
19// Set the desired value for this HTML form element
20input.Value = "Text";
21
22// Prepare a path to save HTML 
23string savePath = Path.Combine(OutputDir, "result.html");
24
25// Save the HTML document with SerializeInputValue set to true
26doc.Save(savePath, new HTMLSaveOptions { SerializeInputValue = true });

因此,HTMLSaveOptions 类的 SerializeInputValue属性决定 HTML 文档中输入元素的值是否被序列化并包含在保存的文件中。如果 SerializeInputValuetrue,输入元素的值将包含在保存的文件中。如果未设置 SerializeInputValue,则输入元素的值不会包含在保存的文件中。

您可以从 GitHub 下载数据文件和演示如何设置字体文件夹的完整 C# 示例。

Aspose.HTML 免费提供 HTML 网络应用程序,这是一个在线集合,包括转换器、合并器、搜索引擎优化工具、HTML 代码生成器、URL 工具、格式化器、最小化器等。这些应用程序可在任何装有网络浏览器的操作系统上运行,无需安装任何其他软件。它是一种快速、简便的方法,可以高效、有效地解决与 HTML 相关的任务!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.