使用 ToString 方法将 XDocument 转换为字符串后添加反斜杠“\”
Backslashes "\" are added after converting XDocument to string using ToString method
使用 .ToString(SaveOptions.DisableFormatting)
方法将 XDocument 转换为字符串后。标签属性中的双引号旁边添加了反斜杠。
我的 XML 使用 XDocument 构建的示例:
XNamespace xmlns = "http://www.w3.org/2001/10/synthesis";
var xdec = new XDeclaration("1.0", "utf-8", "yes");
XDocument xml = new XDocument(
xdec,
new XElement(
xmlns + "speak",
new XAttribute(XNamespace.Xml + "lang", "en")));
var xmlString = xml.ToString(SaveOptions.DisableFormatting); // backslashes "\" are added
输出图像示例:
我该如何删除这些反斜杠?谢谢
此处的反斜杠表示双引号是字符串的一部分,并不表示字符串的结尾。
例如,如果您有:
var myFavouriteQuoteStatement = "My favourite quote is "I like bread"";
Visual studio 会将此行标记为错误,因为编译器会将 "My favourite quote is "
视为 myFavouriteQuoteStatement
变量中的字符串,而其余部分 I like bread""
将被视为垃圾无法编译。
有效字符串为:
var myFavouriteQuoteStatement = "My favourite quote is \"I like bread\"";
您可以通过 Whosebug 在我的评论中突出显示它的方式来区分它们。
使用 .ToString(SaveOptions.DisableFormatting)
方法将 XDocument 转换为字符串后。标签属性中的双引号旁边添加了反斜杠。
我的 XML 使用 XDocument 构建的示例:
XNamespace xmlns = "http://www.w3.org/2001/10/synthesis";
var xdec = new XDeclaration("1.0", "utf-8", "yes");
XDocument xml = new XDocument(
xdec,
new XElement(
xmlns + "speak",
new XAttribute(XNamespace.Xml + "lang", "en")));
var xmlString = xml.ToString(SaveOptions.DisableFormatting); // backslashes "\" are added
输出图像示例:
我该如何删除这些反斜杠?谢谢
此处的反斜杠表示双引号是字符串的一部分,并不表示字符串的结尾。 例如,如果您有:
var myFavouriteQuoteStatement = "My favourite quote is "I like bread"";
Visual studio 会将此行标记为错误,因为编译器会将 "My favourite quote is "
视为 myFavouriteQuoteStatement
变量中的字符串,而其余部分 I like bread""
将被视为垃圾无法编译。
有效字符串为:
var myFavouriteQuoteStatement = "My favourite quote is \"I like bread\"";
您可以通过 Whosebug 在我的评论中突出显示它的方式来区分它们。