У меня есть иерархические данные, хранящиеся в файле XML. Есть несколько компаний, каждая из которых может иметь несколько направлений бизнеса. Они ведут каждую линию бизнеса в нескольких штатах. И в каждом штате могут быть множественные структуры ставок. Ниже приведен фиктивный образец.Как выполнить поиск XML с использованием запроса LINQ-to_XML
Как написать запрос LINQ to XML для возврата, например, всех структур ставок для данной компании, бизнес-направления и состояния? Или все государства, в которых данная компания предлагает страхование жизни.
Пример: вернуть все тарифы на страхование землетрясения в штате Орегон.
Пример: вернуть все государства, в которых Travelers предлагает страхование жизни.
Я знаю, как это сделать на одном уровне, но не могу понять, как развернуть его глубже. Я просто знаю, что я похлопаю себя по голове и пойду «Дух», как только я получу ответ, но пока я застрял.
<?xml version="1.0" encoding="utf-8" ?>
<businessData>
<company name="StateFarm" id="21">
<lineOfBusiness name="Homeowners" id="24">
<state name="Texas" abbreviation="TX">
<rate structure="A"/>
<rate structure="D"/>
<rate structure="F"/>
</state>
</lineOfBusiness>
<lineOfBusiness name="Earthquake" id="62">
<state name="California" abbreviation="CA">
<rate structure="A"/>
<rate structure="B"/>
</state>
<state name="Oregon" abbreviation="OR">
<rate structure="A"/>
</state>
<state name="Washington" abbreviation="WA">
<rate structure="A"/>
</state>
</lineOfBusiness>
<lineOfBusiness name="Fire" id="22">
<state name="California" abbreviation="CA">
<rate structure="A"/>
</state>
</lineOfBusiness>
</company>
<company name="Travellers" id="17">
<lineOfBusiness name="Life" id="23">
<state name="Florida" abbreviation="FL">
<rate structure="A"/>
<rate structure="C"/>
<rate structure="D"/>
</state>
<state name="Alabama" abbreviation="AL">
<rate structure="A"/>
<rate structure="B"/>
<rate structure="C"/>
</state>
</lineOfBusiness>
<lineOfBusiness name="Homeowners" id="24">
<state name="Alabama" abbreviation="AL">
<rate structure="X"/>
<rate structure="Y"/>
<rate structure="X"/>
</state>
<state name="Arkansas" abbreviation="AR">
<rate structure="C"/>
</state>
<state name="California" abbreviation="CA">
<rate structure="G"/>
</state>
<state name="Florida" abbreviation="FL">
<rate structure="D"/>
</state>
<state name="Georgia" abbreviation="GA">
<rate structure="D"/>
</state>
<state name="Louisiana" abbreviation="LA">
<rate structure="B"/>
</state>
<state name="Missouri" abbreviation="MO">
<rate structure="A"/>
</state>
</lineOfBusiness>
<lineOfBusiness name="Auto" id="25">
<state name="California" abbreviation="CA">
<rate structure="T"/>
<rate structure="Y"/>
<rate structure="Z"/>
</state>
</lineOfBusiness>
</company>
<company name="NationWide" id="79">
<lineOfBusiness name="Earthquake" code="EQ" id="62">
<state name="California" abbreviation="CA">
<rate structure="B"/>
<rate structure="C"/>
<rate structure="D"/>
<rate structure="G"/>
</state>
</lineOfBusiness>
</company>
</businessData>
Какой язык вы используете? Не могли бы вы опубликовать код «одного уровня глубины», который у вас есть, чтобы мы могли помочь вам увидеть, куда идти дальше? – CoderDennis