我如何从C#生成XML格式

时间:2012-12-07 18:40:13

标签: c# xml xmltextwriter

我正在使用XmlTextWriter从C#应用程序生成XML。初始输入将采用此格式,1“,但我可以用任何内容替换它。我需要以1"结束,但我一直得到1"

C#

    xml.WriteStartElement("data");
    xml.WriteAttributeString("type", "wstring");
    xml.WriteString("1"");
    xml.WriteEndElement();

哈!当我通过我需要的XML时,它将它转换为1“。但我真正需要显示的是代码第3行中的实际1"

我还需要使用/和Ø。我怎么能这样做,谢谢。

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的情况。它会让您的生活变得更加简单。 )