У меня есть XML-документ, который я читаю, чтобы предоставить некоторые настройки, например;
01 <Layout>
02 <Variable name="leftEdge" value="100" />
03 <Rectangle x="leftEdge" y="100" />
04 <Rectangle x="leftEdge2" y="100" />
05 </Layout>
Я загружаю этот документ и запрашиваю его для элементов, но у меня есть довольно сложные правила проверки, которые не могут быть охвачены XSD. То, что я хотел бы сделать, это предоставить несколько ошибок в документе, например так:
ERROR: Rectangle at line 04 char 03: no variable called 'LeftEdge2' has been defined.
Но в данный момент я загружаю в XmlDocument
, который не помнит, где были определены элементы в исходном файле.
Кто-нибудь знает о компоненте или методе, где я могу пометить XmlElement его исходной строкой и положением символа? Чтобы я мог написать;
var errorMessage = string.Format(
"ERROR: {0} at line {1} char {2}: no variable called '{3}' has been defined.",
element.Name,
element.OriginalLineNumber,
element.OriginalCharacterNumber,
missingVariableName);