将包含 &#38 的 XML 值节点保存到数据库中的正确方法是什么?

Which is the proper way to save XML value node that contains &#38 into the database?

今天有人向我的 asp.net 4.8 后端应用程序发送了 XML,例如:

<person>
   <name>example1 &amp;#38 example2</name>
</person>

服务器应用程序读取节点值并将其保存在 sql 数据库列 dbo.Person.Name 中,而不进行任何解码。第一个问题:不好吗?应该如何存放?应该先解码。

无论如何假设该值将按原样保存,应用程序的客户端部分迟早会从服务器请求数据并且该字符串将被发送到客户端并正确显示,因为它是 html编码字符串。

我正在处理的问题是当客户端在 post 请求中向服务器返回此数据时抛出的验证异常。

最简单的原因应该是 replace/escape post 正文中包含的“&”。

这是最好的应对方式吗?数据应该如何在服务器和客户端之间传输?

“今天有人发送了 XML”

回到他们身边,问问他们为什么要发送如此肮脏的数据,并告诉他们你不准备将这样的垃圾数据放入你的数据库中。

从表面上看,&amp;#38 是一次完全拙劣的转义符号的尝试。