C#:使用 XmlTextWriter 清理 XML 文本值?

发布于 2024-07-27 17:15:37 字数 631 浏览 3 评论 0原文

我正在使用 XmlTextWriter 序列化并保留一些数据。 我序列化的几个字段基于用户输入(例如用户名)。 今天我使用 XmlTextWriterWriteElementString 方法。

我的问题是:WriteElementString的第二个参数是要写入的文本值。 在写作之前如何对其进行消毒?

示例代码:

XmlTextWriter writer = new XmlTextWriter("filename.xml", null);

writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();

writer.Close();

变量 inputUserNameinputEmail 是用户输入,我想在编写之前对它们进行清理/转义。

实现这一目标的最佳方法是什么?

I'm using XmlTextWriter to serialize and persist some of my data. Several of the fields I serialize are based on user input (e.g. Username). Today I use the WriteElementString method of XmlTextWriter.

My question is: the second parameter of WriteElementString is the text value to be written. How can I sanitize it prior to writing?

An example code:

XmlTextWriter writer = new XmlTextWriter("filename.xml", null);

writer.WriteStartElement("User");
writer.WriteElementString("Username", inputUserName);
writer.WriteElementString("Email", inputEmail);
writer.WriteEndElement();

writer.Close();

The variables inputUserName and inputEmail are user-input, and I would like to sanitize/escape them prior to writing.

What's the best way to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

傲影 2024-08-03 17:15:37

你到底需要什么才能逃离那里? WriteElementString 将完成 XML 所需的所有转义(即 & -> &< > -> < 等)

What exactly do you need to escape there? WriteElementString will do all escaping needed by XML already (i.e. & -> &, < -> <, etc)

宣告ˉ结束 2024-08-03 17:15:37

您可以将这些值保护为 CDATA,这对于 xml 来说是最安全的。

在此之前,您应该通过 RegEx 或任何其他验证来检查值。

You could safe these Values as CDATA that will be safest you can do with xml.

Prior you should check the values via RegEx or any other validation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文