Дети XElement

Я рекомендую вам прочитать эту статью https://symfony.com/doc/current/validation.html

Если проверка не пройдена, непустой список ошибок (класс ConstraintViolationList ) возвращается.

Таким образом, вы можете получить свой список следующим образом:

if ($violations->count() > 0) {
    $formatedViolationList = [];
        for ($i = 0; $i < $violations->count(); $i++) {
            $violation = $violations->get($i);
            $formatedViolationList[] = array($violation->getPropertyPath() => $violation->getMessage());
        }
}

Пара объяснений. Мы используем методы из нарушения api count() или получаем ряд нарушений, а после цикла for мы используем get($i) для получения каждого нарушения по индексу. После того, как мы используем getPropertyPath() для получения пути (имя вашей собственности) и getMessage() для получения сообщения.

63
задан Superman 27 December 2012 в 18:12
поделиться

3 ответа

Непосредственные дочерние элементы одного XElement доступны путем вызова Element() или Elements() функции. Используйте перегрузки с именем для доступа к определенным элементам, или без получить доступ ко всем дочерним элементам.

существуют также похожие методы как Attribute() и Attributes() , что Вы могли бы найти полезным.

99
ответ дан Bevan 24 November 2019 в 16:21
поделиться

XElement. Узлы () должны получить Вас, что Вы хотите.

, Если Вы просто хотите дочерние узлы XElement затем, Вы, возможно, должны были бы ограничить его (в зависимости от Вашего XML) с:

XElement.Nodes().OfType<XElement>()
11
ответ дан Steven Robbins 24 November 2019 в 16:21
поделиться
4
ответ дан tvanfosson 24 November 2019 в 16:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: