GetRequiredElementValue

GetRequiredElementValue<T>(XmlNode, String, String, Object)

Возвращает значение из XmlNode, содержащееся в элементе по указанному пути. Если элемент отсутствует, будет возвращено исключение.

public static T GetRequiredElementValue<T>(XmlNode node,
                                           string path,
                                           string name,
                                           object targetObject)

Параметры

node System.Xml.XmlNode Узел XmlNode, содержащий нужный элемент.

path System.String Путь до нужного элемента.

name System.String Имя объекта, в котором происходит получение значения.

targetObject System.Object Класс объекта, в котором происходит получение значения.

Возвращает

T defaultValue, если элемент отсутствуют; в противном случае - значение нужного элемента.

Исключения

InvalidXmlException Если в описании узла node отсутствует элемент по пути path или его атрибут attribute.

GetRequiredElementValue<T>(XmlNode, String, String, Object, String)

Возвращает значение из XmlNode, содержащееся в элементе по указанному пути. Если элемент отсутствует, будет возвращено исключение, сообщение которого будет дополнено переданным текстом.

public static T GetRequiredElementValue<T>(XmlNode node,
                                           string path,
                                           string name,
                                           object targetObject,
                                           string additionalMessage)

Параметры

node System.Xml.XmlNode Узел XmlNode, содержащий нужный элемент.

path System.String Путь до нужного элемента.

name System.String Имя объекта, в котором происходит получение значения.

targetObject System.Object Класс объекта, в котором происходит получение значения.

additionalMessage System.String Дополнительное сообщение, которое будет добавлено в текст исключения.

Возвращает

T defaultValue, если элемент отсутствуют; в противном случае - значение нужного элемента.

Исключения

InvalidXmlException Если в описании узла node отсутствует элемент по пути path или его атрибут attribute.

Примечания

Вы можете использовать этот метод, чтобы дополнить текст сообщения об ошибке информацией, раскрывающей суть обязательного элемента. Таким образом, сообщения об ошибках будут полными и заменять документацию.

Примеры

В следующем примере извлекается значение тэга <Text>, вложенного в тэг <SettingsSqlQuery>:

XmlParser.GetRequiredElementValue<string>(
    node, "SettingsSqlQuery/Text", Name, this,
    "В элементе SettingsSqlQuery указывается текст запроса на получение настроек.");

В метод GetRequiredElementValue последним параметром передается дополнительное сообщение, которое будет добавлено в текст исключения.

Описание команды типа MyCommand в xml-файле:

<Command Name="MyCommand" Type="MyCommand" Assembly="TemplateEngine">
  <SettingsSqlQuery>
    <Text>
      SELECT smtp_server, smtp_port
      FROM template.settings
      LIMIT 1;
    </Text>
  </SettingsSqlQuery>
</Command>

Last updated