Допустим, у меня есть следующий XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<Customers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Customer.xsd">
<Customer>
<FirstName></FirstName>
<LastName></LastName>
</Customer>
<Customer>
<FirstName></FirstName>
<LastName></LastName>
</Customer>
<Customer>
<FirstName></FirstName>
<LastName></LastName>
</Customer>
</Customer>
Я также создал объект Customer, который сопоставляется с соответствующими полями.
Теперь, если я попытаюсь сериализовать это в общий список следующим образом:
XmlSerializer xml = new XmlSerializer(typeof(List<Customer>));
Я получу исключение, потому что мой список не сопоставлен с тем же пространством имен, что и клиенты в документе XML, и я не могу добавить его в качестве атрибута, потому что я использую общий список, а не пользовательский коллекция
Как я могу сказать сериализатору сопоставить пространство имен со списком, не создавая пользовательскую коллекцию?
Edit:
Я должен немного пояснить, исключение, выдаваемое сериализатором:
(Клиенты xmlns = ''> не ожидались.
Теперь, поскольку я использую List (T) в качестве родительского узла, как я могу сопоставить общий список с пространством имен, указанным в документе XML?