Код: Выделить всё
us@co.com
me@co.com
me@co.com
info.co.net
VerifyBuildVerbose.txt
Stats.txt
proj
1.0
19:00
startTimeHeader="StartTime"
endTimeHeader="EndTime"
failureColumns="ErrorDescription">
Status
equal
Success
Вот что у меня сейчас есть для LINQ:
Код: Выделить всё
string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
string newPath = Path.GetFullPath(Path.Combine(path, @"..\.."));
string finalPathXmlb = Path.GetFullPath(Path.Combine(newPath, configFileName));
XDocument xmlDoc2 = XDocument.Load(finalPathXmlb);
var results1 =
xmlDoc2.Descendants("BuildVerification")
.SelectMany(a => a.Descendants("build")
.SelectMany(b => b.Descendants("Process")
.Select(p => new ProcessValidationInfo
{
codeFreezeTime = b.Parent.Element("codeFreezeTime")?.Value,
buildMach = a.Element("machine")?.Value,
p1 = p.Element("name")?.Value,
startTimeHeader = p.Element("startTimeHeader")?.Value,
endTimeHeader = p.Element("endTimeHeader")?.Value,
failureColumns = p.Element("failureColumns")?.Value,
conditionList = p.Descendants("Condition")
.Select(c => new Condition
{
cName = c.Attribute("name")?.Value,
cValue = c.Attribute("value")?.Value,
cValueAlternate = c.Attribute("alternateValue")?.Value
})
.ToList(),
successCriteriaList = p.Descendants("SuccessCriteria")
.Select(sc => new SuccessCriteria
{
f1 = sc.Element("field")?.Value,
c1 = sc.Element("comparison")?.Value,
v1 = sc.Element("value")?.Value,
alt_v1 = sc.Element("alternateValue")?.Value
})
.ToList()
}))).ToList();
Проблема: buildMach, endTimeheader, startTimeHeader, errorColumns и p1 в результатах имеют нулевое значение.Я смотрел, как linq возвращает значение null, что кажется похожим, но я попытался изменить свой Linq, чтобы использовать BuildVerification (ранее использовалась часть сборки для потомков) для части xmlDoc2.Descendants, но это ничего не исправило .
Условия и критерии успеха в настоящее время считываются в свои списки нормально.
Для получения дополнительной информации об этом, например о классах, хранящих XML, см. классы, хранящие xml.
Подробнее здесь: https://stackoverflow.com/questions/786 ... e-xml-read
Мобильная версия