我正在使用XmlTextWriter从C#应用程序生成XML。初始输入将采用此格式,1“,但我可以用任何内容替换它。我需要以1"
结束,但我一直得到1"
C#
xml.WriteStartElement("data");
xml.WriteAttributeString("type", "wstring");
xml.WriteString("1"");
xml.WriteEndElement();
哈!当我通过我需要的XML时,它将它转换为1“。但我真正需要显示的是代码第3行中的实际1"
。
我还需要使用/和Ø。我怎么能这样做,谢谢。
答案 0 :(得分:5)
我需要以1“结束,但我一直得到1& quot;
那是因为你正在尝试为它做XML API的工作。
你的工作就是提供文本 - 它的工作是处理转义以及XML需要做的任何事情。
所以你应该使用
xml.WriteString("1\"");
...反斜杠只是为了C#的字符串文字处理,而与XML无关。您尝试写出的逻辑值是1,后跟双引号。它是否以"
转义是否应该与处理它的任何事情无关。如果你有一些过于敏感的东西,你应该修复那个。
如果你拼命需要这个(我会再次强烈建议你不要),试试:
xml.WriteString("1");
xml.WriteEntityRef("quot");
(我还建议您使用LINQ to XML,除非您处于真正需要使用XmlWriter
的情况。它会让您的生活变得更加简单。 )