Интересно, причина, по которой это не работает, когда объединяются два XPath, заключается в том, что в первом случае вы сравниваете SummaryDate со строкой, '20111231'
, но во втором случае вы сравниваете SummaryDate с число, max(...)
.
Чтобы проверить это, попробуйте
/FinancialSummary[SummaryDate =
string(max(/FinancialSummary/SummaryDate))]/Revenue
Кроме того, я согласен с @Able и @lwburk в том, что это было бы менее запутанным, если бы вы не попытались обработать некорректно сформированный образец XML (несколько элементов верхнего уровня), как если бы это был настоящий документ XML (адресованный с использованием "/Сводные финансовые показатели/..."). Я предполагаю, что вы пытаетесь быть краткими и сообщаете только то, что, по вашему мнению, имеет отношение к проблеме. Но это, очевидно, не правильно, и это вызывает всевозможные тревоги. Ясность об этом поможет.