Чтение вложенного XML из файла и использование классов для хранения информацииC#

Место общения программистов C#
Ответить
Anonymous
 Чтение вложенного XML из файла и использование классов для хранения информации

Сообщение Anonymous »

У меня есть проект, критерии успеха которого хранятся в формате xml, а затем он сравнивается с данными журнала, чтобы определить, успешна ли сборка. Содержимое xml в настоящее время выглядит следующим образом, но, к сожалению, я не могу просмотреть его и отправить в журнал синтаксического анализа, поскольку списки являются анонимными типами:

Код: Выделить всё

var results1 =
xmlDoc2.Descendants("build")
.SelectMany(b => b.Descendants("Process")
.Select(p => new
{
buildMach = b.Element("BuildMachine").Value,
p1 = p.Element("ProcessName").Value,
startTimeHeader = p.Element("startTimeHeader").Value,
conditions = p.Descendants("Condition")
.Select(c => new
{
cName = (string)c.Attribute("name")?.Value,
cValue = (string)c.Attribute("value")?.Value
})
.ToList(),
successCriteria = p.Descendants("SuccessCriteria")
.Select(sc => new
{
f1 = (string)sc.Element("field")?.Value,
c1 = (string)sc.Element("comparison")?.Value,
v1 = (string)sc.Element("value")?.Value
})
.ToList()
})).ToList();

//send to parse log method but need to find better way to get lists so not anonymous...this doesn't work:
foreach (var currentItem in results1)
{
//string parameters except the list parameters preceded by l_
ParseLogFile1(codeFreezeTime, currentItem.startTimeHeader, currentItem.buildMach, currentItem.p1, l_currentItem.conditions, l_currentItem.successCriteria);
}
У меня есть новые классы, чтобы попытаться добиться этого, и я пытаюсь понять, как их использовать с вышеизложенным. Я рассматривал linq с использованием классов, но мне неясно, как получить данные из XML для чтения в именованных классах, чтобы затем получить к ним доступ и отправить в свой метод журнала синтаксического анализа.
Если вы хотите увидеть, как выглядит XML, см. XML в предыдущем вопросе и т. д.
Вот информация о классе, которую я хочу использовать:

Код: Выделить всё

SuccessCriterium.cs:
public class SuccessCriterium
{
public SuccessCriterium()
List successCriteria = new List();
}

SuccessCriteria.cs:
public class SuccessCriteria
{
public SuccessCriteria()
{
string f1 = "";
string c1 = "";
string v1 = "";
}
}

Condition.cs:
public class Condition
{
public Condition()
{
string cName = "";
string cValue = "";
}
}

Conditions.cs:
public class Condition
{
public Condition()
{
List conditions = new List();
}
}

public class ProcessValidationInfo
{
public ProcessValidationInfo()
{
string codeFreezeTime = "";
string startTimeHeader = "";
string buildMach = "";
string p1 = "";
Conditions conditions = new Conditions();
SuccessCriterium successCriterium = new SuccessCriterium();
}
}
Мой вопрос: как мне сохранить XML-код, полученный из LINQ, в классах, чтобы он не был анонимным, когда я позже просматриваю результаты и отправляю информацию в свой метод?>

Подробнее здесь: https://stackoverflow.com/questions/784 ... store-info
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»