Используйте Dynamic или Reflection.emit - PullRequest
4 голосов
/ 11 июля 2010

Я новичок в C # и хотел бы спросить направление для решения следующей проблемы.

У меня есть XML-файл, используемый в качестве шаблона (без предварительного знания его содержимого).что-то вроде:

<Object>
  <Property name="ID">
    <Value weight="40">10000</Value>
    <Value weight="60">20000</Value>
  </Property>
  <Property name="Name">
    <Value weight="">foo</Value>
    <Value weight="">bar</Value>
  </Property>
  <Property name="Department">
    <SubProperty name="Department_ID">
      <Value weight="20">D01</Value>
      <Value weight="80">D02</Value>
    </SubProperty>
    <SubProperty name="Location">
      <Value weight="30">F01</Value>
      <Value weight="70">F02</Value>
    </SubProperty>
  </Property>
</Object>

Я хотел бы прочитать это, сделать некоторую случайность и экспортировать в новый файл XML.Скажем, получите значение каждого свойства случайным образом, в соответствии с их весами (в процентах), чтобы создать новый список объектов со смешанными свойствами, а затем сериализовать его в новый XML-файл.

Будет ли это сделано с помощьюReflection.Emit для создания нового "класса" во время выполнения?Или есть какие-то новые функции, такие как DynamicObject C # 4.0, которые я могу использовать?

Любой комментарий / образец приветствуется, спасибо!

1 Ответ

1 голос
/ 11 июля 2010

Мне кажется, что XDocument удовлетворит ваши потребности.Со всеми операторами LINQ, которые вы можете использовать для запроса и преобразования документа, он должен быть простым и даже приятным.

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