SQL Server 2005 上的以下代码片段在与号“&”上失败:
select cast('<name>Spolsky & Atwood</name>' as xml)
有人知道解决方法吗?
更长的解释,我需要更新 XML 列中的一些数据,并且我正在使用搜索和替换类型 hack,将 XML 值转换为 varchar,使用此转换执行替换和更新 XML 列。
select cast('<name>Spolsky & Atwood</name>' as xml)
里面的字面&符号XML
标签不被允许XML
标准,这样的文档将无法被任何人解析XML
parser.
An 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 & Atwood</name>
</MyData>
, 与&
代替&
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)