Код: Выделить всё
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);
}
Если вы хотите увидеть, как выглядит 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();
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... store-info
Мобильная версия