gpt4 book ai didi

sql - 在 SQL 的 CAST 中使用 & 号

转载 作者:数据小太阳 更新时间:2023-10-29 02:15:01 25 4
gpt4 key购买 nike

SQL Server 2005 上的以下代码片段在 & 符号“&”上失败:

select cast('<name>Spolsky & Atwood</name>' as xml)

有人知道解决方法吗?

更长的解释,我需要更新 XML 列中的一些数据,我正在使用搜索和替换类型 hack,方法是将 XML 值转换为 varchar,使用此转换执行替换和更新 XML 列。

最佳答案

select cast('<name>Spolsky &amp; Atwood</name>' as xml)

XML 标准不允许在 XML 标签内使用 & 符号,这样的文档将无法被任何 XML 解析解析器。

XMLSerializer() 将输出和号 HTML 编码。

以下代码:

using System.Xml.Serialization;

namespace xml
{
public class MyData
{
public string name = "Spolsky & Atwood";
}

class Program
{
static void Main(string[] args)
{
new XmlSerializer(typeof(MyData)).Serialize(System.Console.Out, new MyData());
}
}
}

将输出以下内容:

<?xml version="1.0" encoding="utf-8"?>
<MyData
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<name>Spolsky &amp; Atwood</name>
</MyData>

,使用 & 而不是 &

关于sql - 在 SQL 的 CAST 中使用 & 号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1119310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com