[英]xml serialization encoding “&” character
我将一个对象转换为xml
字符串,然后转换为转义的字符串。
public class Program
{
public static void Main(string[] args)
{
BankDetails details = new BankDetails();
var xmlstring = ToXmlString(details);
var escaped = SecurityElement.Escape(xmlstring);
}
private static string ToXmlString<T>(T input)
{
XmlSerializer xsSubmit = new XmlSerializer(typeof(T));
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
var xml = "";
ns.Add("", "");
using (var sww = new StringWriter())
{
using (XmlWriter writer = XmlWriter.Create(sww, new XmlWriterSettings()
{
OmitXmlDeclaration = true
}))
{
xsSubmit.Serialize(writer, input, ns);
xml = sww.ToString();
}
}
return xml;
}
}
public class BankDetails
{
public string MemberName = "B & A Auto";
}
如何避免&
在xmlstring
变量中。
<BankDetails><MemberName>B & A Auto</MemberName></BankDetails>
我正在寻找这样的输出:
xmlstring = //<BankDetails><MemberName>B & A Auto</MemberName></BankDetails>
//and then
escaped = //<BankDetails><MemberName>B & A Auto</MemberName></BankDetails>
您可以使用Unicode等效字符,即十进制或十六进制,以及&或&。
“ B&A Auto” =>“ B&#038 A Auto”;
您可以解析您的字符串,将安培转换为它们的unicode等效项,然后对其进行转义。
你不能。 &是XML中的特殊字符,用于转义其他字符。
XML中的转义字符
'='
<=&lt;
> =&gt;
&=&amp;
“ =”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.