Чтение узлов XML и циклы для получения определенного значения узла - PullRequest
0 голосов
/ 30 сентября 2019

Этот формат исправлен, и у меня нет никакого контроля над изменением формата

<Fact xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ModelRates">
  <ID Value="fact1" />
  <RecommendedID Value="m1" />
  <AllocationModel>
     <Models>
        <Model>
            <Name>Model 1</Name>
            <ModelID Value="m1" />
            <Mix>
              <Percent>0.1000</Percent>
              <MixID Value="mix1" />
            </Mix>
            <Mix>
              <Percent>0.0500</Percent>
              <MixID Value="mix2" />
            </Mix>
              <Mix>
                  <Percent>0.0500</Percent>
                  <MixID Value="mix3" />
              </Mix>
          </Model>
        <Model>
            <Name>Model 2</Name>
            <ModelID Value="m2" />
            <Mix>
                <Percent>0.2000</Percent>
                <MixID Value="mix1" />
            </Mix>
            <Mix>
                <Percent>0.0800</Percent>
                <MixID Value="mix2" />
            </Mix>
            <Mix>
                <Percent>0.0600</Percent>
                <MixID Value="mix3" />
            </Mix>
        </Model>
     </Models>
  </AllocationModel>
</Fact>

У меня есть сценарий ниже, чтобы решить. 1. Я выяснил значение RecommendedID / @ 2. На основе значения RecommendedID / @ я должен выполнить цикл через «Модели» и получить значение «Percent» для / MixID / @ Value = mix3

Например, RecommendedID / @ Value - m1, поэтому мы должны получить Модель с ID = m1 и MixID = mix3. где процентное значение равно 0,0500.

Я хочу написать эту логику в asp.net. Я пытался использовать xmlDocument, но я получаю первоначальную ошибку. "корень не найден". Так как я не могу изменить формат XML.

Пожалуйста, помогите мне найти решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...