如何将XML文档中的位置表示给用户?

时间:2011-12-22 22:47:13

标签: java xml

我正在使用类似于下面显示的代码的代码解析XML文档。将代码解析为Node树后,它将作为我的程序的配置进行处理。由于多种原因,此配置中可能存在错误,需要将其报告回用户。

我的程序在假设所有错误都可归因于单个节点的情况下运行(即使该节点仅是检测到错误的点)。

如果只是从平面文件(逐行)读取此配置,则向用户报告的错误可能类似于Error at line number 42 ...,但是因为仅在将配置解析为错误后才检测到错误抽象节点树,配置文件中错误的位置已丢失。

如何记住这些配置文件可能非常大,我如何向用户表示错误节点的位置?

解析代码

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder db = factory.newDocumentBuilder();
Document doc = db.parse(inputDocument);

1 个答案:

答案 0 :(得分:0)

如果错误不在XML结构中,但xml中的值作为程序的输入无效,则最有意义的是向用户提供特定于域的报告。

想象一下,您的用户是理赔员。您应该向他提供以下哪些错误报告。

  1. “data.xml”第3253行的“数据错误”;
  2. 一些XPath表达式;
  3. “无效的和解提议,彼得森索赔,要约不应超过法定限额”
  4. 案例1和案例2是无法解读的。案例3是可行的。