如何使 xmlserializer 仅序列化纯 xml?
我需要获取纯 xml,开头没有 和
xmlns:xsi="http:// /www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
位于 XmlSerializer
的第一个元素中。我该怎么做呢?
I need to get plain xml, without the <?xml version="1.0" encoding="utf-16"?>
at the beginning and xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
in first element from XmlSerializer
. How can I do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
把这一切放在一起 - 这对我来说非常有效:
To put this all together - this works perfectly for me:
使用 XmlSerializer.Serialize 方法重载,您可以在其中指定自定义命名空间并将其传递到此处。
传递 null 或空数组不会解决问题
Use the
XmlSerializer.Serialize
method overload where you can specify custom namespaces and pass there this.passing null or empty array won't do the trick
您可以使用XmlWriterSettings并将属性OmitXmlDeclaration设置为true,如msdn 中描述。然后使用 XmlSerializer.Serialize(xmlWriter, objectToSerialize) 如此处所述。
You can use XmlWriterSettings and set the property OmitXmlDeclaration to true as described in the msdn. Then use the XmlSerializer.Serialize(xmlWriter, objectToSerialize) as described here.
这会将 XML 写入文件而不是字符串。对象票证是我正在序列化的对象。
使用的命名空间:
代码:
This will write the XML to a file instead of a string. Object ticket is the object that I am serializing.
Namespaces used:
Code: