【发布时间】:2011-03-23 10:16:11
【问题描述】:
我正在阅读一个 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);
【问题讨论】:
标签: c# .net xml xmldocument