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