Tôi cần có xml đơn giản, không có số <?xml version="1.0" encoding="utf-16"?>
ở đầu và xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
trong phần tử đầu tiên từ XmlSerializer
. Tôi làm nó như thế nào?Làm cách nào để tạo xmlserializer chỉ xê-ri hóa đơn thuần xml?
41
A
Trả lời
114
Để đặt này tất cả cùng nhau - điều này hoạt động hoàn hảo cho tôi:
// To Clean XML
public string SerializeToString(T value)
{
var emptyNamepsaces = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
var serializer = new XmlSerializer(value.GetType());
var settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
using (var stream = new StringWriter())
using (var writer = XmlWriter.Create(stream, settings))
{
serializer.Serialize(writer, value, emptyNamepsaces);
return stream.ToString();
}
}
12
Bạn có thể sử dụng XmlWriterSettings và thiết lập thuộc tính OmitXmlDeclaration true như described in the msdn. Sau đó, sử dụng XmlSerializer.Serialize (xmlWriter, objectToSerialize)as described here.
19
Sử dụng quá tải phương thức XmlSerializer.Serialize
nơi bạn có thể chỉ định không gian tên tùy chỉnh và chuyển đến đây.
var emptyNs = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
serializer.Serialize(xmlWriter, objectToSerialze, emptyNs);
đi qua mảng null hoặc rỗng sẽ không làm các trick
Các vấn đề liên quan
- 1. Bất kỳ cách nào để tạo xmlSerializer đầu ra xml theo một thứ tự xác định?
- 2. Làm thế nào để sử dụng XmlSerializer để chèn một chuỗi xml
- 3. Làm cách nào để thụt lề XML đúng cách bằng XMLSerializer?
- 4. Làm cách nào để chèn các chú thích XML vào tuần tự hóa XML?
- 5. Làm cách nào để xác thực đầu ra của XmlSerializer?
- 6. Làm cách nào để bỏ qua khai báo xml khi tuần tự hóa?
- 7. XMLSerializer để XElement
- 8. Đơn giản hóa việc deserialization XML
- 9. Đơn giản hóa việc phân tích cú pháp XML DOM PHP - làm cách nào?
- 10. Bỏ qua mã hóa được chỉ định khi deserializing XML
- 11. Có thể tạo XML thuần cũ bằng Haml không?
- 12. Làm thế nào tôi có thể nhận XmlSerializer để mã hóa các bool là có/không?
- 13. Làm cách nào để tôi trả lại XML thuần túy từ dịch vụ web asmx?
- 14. Làm cách nào để chèn văn bản thuần túy?
- 15. Làm cách nào để tối ưu hóa từ "hàm thuần túy" trong C#?
- 16. xmlserializer validation
- 17. Làm cách nào để tạo văn bản trong một không gian văn bản đơn thuần khi sử dụng Twitter Bootstrap?
- 18. XmlSerializer Sản xuất XML Với Không namespace prefix
- 19. Làm cách nào để xem xml trong Eclipse với cú pháp cú pháp đơn giản?
- 20. C# tạo tệp xml đơn giản
- 21. Làm thế nào để tạo một kiểu giá trị rỗng với .NET XmlSerializer?
- 22. XML Diff: Làm thế nào để tạo ra XML diff bằng cách sử dụng XSLT?
- 23. Làm cách nào để XmlSerializer không được sắp xếp các thẻ vùng chứa?
- 24. Làm cách nào để chỉ định mã hóa cho fileinput
- 25. Có cách nào để tránh XmlSerializer không khởi tạo một thuộc tính null khi deserializing?
- 26. Làm cách nào để tạo một dự án lắp ráp thuần túy trong Visual Studio?
- 27. XML deserialization 'tiêu chuẩn hóa' kết thúc dòng, làm thế nào để ngăn chặn nó? (.NET)
- 28. Làm cách nào để tạo tệp BMP bằng Python thuần túy?
- 29. XmlSerializer, base64 mã hóa một chuỗi thành viên
- 30. Làm cách nào để tạo thuộc tính chỉ đọc?
sử dụng (var stream = new StringWriter()) có thể được thay đổi thành var stream = new StringWriter(); Cung cấp cho lỗi với phân tích mã vì nó tres để xử lý xmlwriter hai lần. – Archna
Cần '' sau tên phương thức. VÍ DỤ. 'SerializeToString ' (StackOverflow không cho phép tôi chỉnh sửa dưới 6 ký tự) –
derekantrican