C# &;燃气轮机及;lt而不是>;及<;对于XmlWriter.writeElementString
我有上述情况。一切正常,但C# &;燃气轮机及;lt而不是>;及<;对于XmlWriter.writeElementString,c#,xml,C#,Xml,我有上述情况。一切正常,但writer.WriteAttributeString(“mailBody”,mail.BodyText)给出了一个问题。mail.BodyText是一个字符串,内容中有。当xml写入文件时,我看到的是>和<。我不想要这个加密机版本。如何解决它?这不是“加密版本”,而是符合标准的版本。XML禁止发布解决方案供将来参考 要分别生成字符而不是和,需要使用WriteRaw()方法 这是执行情况 writer.WriteStartElement("mailBody");
writer.WriteAttributeString(“mailBody”,mail.BodyText)代码>给出了一个问题。mail.BodyText
是一个字符串,内容中有。当xml写入文件时,我看到的是>和<。我不想要这个加密机版本。如何解决它?这不是“加密版本”,而是符合标准的版本。XML禁止发布解决方案供将来参考
要分别生成
字符而不是
和
,需要使用WriteRaw()
方法
这是执行情况
writer.WriteStartElement("mailBody");
writer.WriteCData(mail.BodyText);
writer.WriteEndElement();
w.writeStarteElement(“myRoot”);
w、 作家("这不是加密程序,这是xml规范。像<>&
这样的字符是xml中的特殊字符,必须转义。xml反序列化程序应该能够正确处理它。您不应该这样做,因为像
这样的东西不是有效的xml。没有什么需要解决的。这是正确的行为。请参阅:请记住,当您d使用任何XML读取器再次从XML文件中读取数据,您将获得原始的
和&
字符。我获得![CDATA[]在xml中,有没有办法消除它?@Goodie为什么?你不能将
嵌入有效的xml文本或属性中。如果你想生成无效的xml,你必须将xml生成为字符串,而不是使用XmlWriter
,因为它会阻止你做会导致无效xml的事情。请注意因此,您将无法使用stanrdad XML读取器读取无效的XML。@Goodie您无法清除CDATA
部分周围的markup。在有效的XML中,您可以在文本周围有CDATA
,或者在文本内部有
。@Goodie您到底要用该XML做什么?阅读它?它是主要的y供机器使用,而不是供人类使用。现在您生成了无效的XML。这有什么帮助?我正在使用XML将数据导入数据库表。这个无效的XML对我有用。我不必在任何地方发布它。当我需要将原始XML字符串作为有效的XML而不是字符串插入XML编写器时,这很有帮助。是的,它可以es允许生成无效的xml,但如果将有效的xml插入到“WriteRaw”语句中,它就会起作用。
writer.WriteStartElement("mailBody");
writer.WriteCData(mail.BodyText);
writer.WriteEndElement();
w.WriteStartElement("myRoot");
w.WriteRaw("<");
w.WriteEndElement();
<myRoot><</myRoot>