Я использую LINQ to XML для анализа XML-документа. У меня также есть возможность влиять на дизайн XML-схемы. Данный элемент XML Person может иметь один или несколько элементов Address в качестве дочерних элементов. Было бы более эффективным, если синтаксический разбор XML определялся так, чтобы Person содержал один или несколько Узлов Адреса, или было бы лучше, чтобы Person содержал узел Addresses, который, в свою очередь, содержал один или несколько Узлов Адреса? Благодарю.Наиболее эффективное использование LINQ to XML
ответ
Чем меньше элементов между вами и желаемыми данными, тем лучше. Но смысл использования структуры XML состоит в том, чтобы осмыслить данные. Один вопрос, который нужно задать: необходимо ли группа адресов вместе под каждым человеком? Если это так, то он платит, чтобы иметь промежуточный элемент, чтобы описать то, что группировка, например:
<Person>
<Addresses Group="Summer">
<Address Street="123 Street Name" .../>
</Addresses>
<Addresses Group="Winter">
<Address Street="456 Other Street" .../>
</Addresses>
</Person>
Если нет, то нет никакого смысла в том, чтобы промежуточный элемент, и это будет стоить вам накладных расходов на хранение и разобрав его.
Если вы беспокоитесь о том, как легко получить коллекции дочерних элементов в вашем коде, LINQ-to-XML упрощает работу с любым из этих сценариев. Например:
<Person>
<Address .../>
<Address .../>
<Phone .../>
<Phone .../>
<Email .../>
</Person>
Вы можете извлечь то, что вы хотите тривиальным:
var Addresses = personElement.Elements("Address");
var PhoneNumbers = personElement.Elements("Phone");
Это означает, что вам не нужно иметь промежуточные элементы, такие как < телефоны > или <EmailAddresses>, вы бы только добавить если необходимо было ввести атрибуты/метаданные, охватывающие группы дочерних элементов.
- 1. Наиболее эффективное использование URLByAppendingPathComponent
- 2. Наиболее эффективное использование подстроки()
- 3. Linq to sql Эффективное решение
- 4. Telerik RADGrid - наиболее эффективное использование
- 5. Наиболее эффективное Многие-ко-многим Linq запросов
- 6. Наиболее эффективное использования 'если'
- 7. Использование xname в Linq-to-xml
- 8. Использование LINQ to XML для реализации IXmlSerializable
- 9. Наиболее эффективное расположение сидений
- 10. LINQ to XML (Dynamic XML)
- 11. C# linq to xml
- 12. linq to XML string
- 13. LINQ to Stored XML
- 14. linq to xml performance
- 15. LINQ to XML Cloning
- 16. Linq to XML issue
- 17. Запрос LinQ to XML
- 18. Linq to XML Order
- 19. LINQ to XML - Null
- 20. LINQ to XML attributes
- 21. Задача Linq to XML
- 22. LINQ TO XML Solution
- 23. LINQ to SQL/XML
- 24. сохранить LINQ to XML
- 25. Linq to xml parsing
- 26. Linq to XML - многоуровневый
- 27. LINQ to XML Grouping
- 28. LINQ to XML query
- 29. LINQ to XML question
- 30. Использование LINQ to XML с ответом xml от SQL Server
Отлично, спасибо. – user361540