Tôi nhận được hàng ngàn tệp XML sau tất cả cùng một lược đồ/cấu trúc. Tôi đã triển khai IXmlSerializable và do đó tôi tự đọc các yếu tố và thuộc tính..NET XML Deserialization bỏ qua các không gian tên
Vấn đề của tôi là các tệp này từng sử dụng một không gian tên giả mạo khác nhau. Các tệp này đến từ một nguồn khác vì vậy tôi không thể thay đổi điều đó: D Ngoài ra, có quá nhiều không gian tên cho tôi để xây dựng một mảng các không gian tên có thể và chuyển nó đến xmlserializer.
Ngay bây giờ, nếu tôi không chỉ định vùng tên, nó sẽ gửi lỗi [xmlns: ns0 = "http://tempuri.org/abcd.xsd" không được mong đợi].
Tôi muốn có thể nói trình nối tiếp chỉ đơn giản là bỏ qua không gian tên khi deserializing đối tượng của tôi và chỉ cháy ReadXML. Hoặc chỉ có thể nói nó chấp nhận bất kỳ không gian tên "http://tempuri.org/" nào.
Điều đó có khả thi không?
Tôi muốn tránh sửa đổi tệp càng nhiều càng tốt.
Cảm ơn bạn!
Bạn có cân nhắc việc tải XML trước để có được không gian tên để sau đó bạn có thể chuyển nó vào XmlSerializer không? –
@StevenDoggart Vâng tôi đã làm, nhưng tôi muốn biết nếu có một cách "thích hợp" hơn để làm điều này trước khi tôi bắt đầu làm việc xung quanh nó. Nó chỉ có vẻ ngớ ngẩn mà bạn không thể bỏ qua không gian tên mà không nhận được một ngoại lệ: S – user1698428
Vâng, đó là một câu hỏi rất tốt và tôi rất tò mò nếu có một câu trả lời cho nó là tốt. –