Я уверен, что этот процесс, который у меня есть, имеет много недостатков, поэтому не стесняйтесь указывать на все, что вы видите на этом пути.Скребок HTML для объекта, а затем AutoMapper для модели
У меня есть входящий HTML-адрес электронной почты, который мне нужно очистить от большой информации. У меня есть эта информация, которая входит в действительно простой список, но затем я хотел бы сопоставить ее с определенной моделью, с которой я смогу работать.
HTML, электронная почта выглядит следующим образом:
<tr>
<td>Name: </td>
<td>Larry Smith</td>
</tr>
<tr>
<td>Email: </td>
<td>[email protected]</td>
</tr>
<tr>
<td>Phone: </td>
<td>(101)123-4567 (Mobile)</td>
</tr>
Я использую HTMLAgilityPack разобрать его в этот объект:
public class RawData
{
public string Name { get; set; }
public string Value { get; set; }
}
Таким образом, объект после синтаксического анализа выглядит следующим образом
Моя модель очень похожа. ЗА ИСКЛЮЧЕНИЕМ, что свойства фактически названы не родовое:
public class FullModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
...etc....
}
Итак, теперь мы добраться до сути проблемы ... Попытка построить карту с AutoMapper, чтобы выровнять все.
Mapper.CreateMap<RawData, FullData>()
.ForMember(dest => dest.FullName,
opts => opts.MapFrom(src => src.Name));
но конечно .... Есть около 80 свойств в объекте RAWDATA, которые являются полями .... и RAWDATA является списком для загрузки.
Должен ли я отказаться от своего объекта и сопоставления RawData, а вместо этого в методе парсера электронной почты scrape найти свойство FullData, которому оно принадлежит, и заполнить его?
Другие идеи и вход Добро пожаловать
Спасибо
Просто чтобы понять ... 'IEnumerable' '' FullModel' (вы показываете только 'RawData'' Model', но вы пропустите множество разных значений ...) –