При написании моей первой сложной XML-схемы я, возможно, все еще думаю о объектно-ориентированном подходе и не знаю, какие есть лучшие практики.Это в основном потому, что я не тратил много времени на чтение XML-файлов в коде.
Одна вещь, которую я склонен делать, - это помещать все коллекции в отдельный элемент.Давайте придумаем сценарий.Я делаю схему для типа человека, и я не хочу хранить информацию об автомобилях людей среди прочего.
Я всегда делаю это:
<xs:element name="Person">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Address" type="xs:string"/>
<xs:element name="Cars">
<xs:complexType>
<xs:sequence>
<xs:element name="Car" type="CarType" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Но якобы этовозможно и, возможно, даже лучше:
<xs:element name="Person">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="Address" type="xs:string"/>
<xs:element name="Cars" type="CarType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Когда я читаю из файла XML с использованием C # и / или Linq-to-XML, какой метод лучше?
Я склонен делать свое дело, потому чтоЯ чувствую, что коллекция должна находиться внутри собственных тегов, а не вместе со свойствами, такими как имя и адрес, в единственном числе.