【问题标题】:reading line numbers and character positions of elements in XmlDocument读取 XmlDocument 中元素的行号和字符位置
【发布时间】: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


    【解决方案1】:

    几年前我也有类似的要求。我们最终使用了作为 COM+ 导入的 MSXML 组件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 2015-08-18
      • 1970-01-01
      相关资源
      最近更新 更多