获取与节点

时间:2016-04-01 10:01:29

标签: java xml xml-parsing

我正在开发一个使用XML(我使用javax.xml.parsers.Document和朋友)作为输入数据的应用。

当文档遗失某些内容(根据我的应用程序逻辑而遗漏)时,我会向用户显示XML的错误部分,例如:

input.xml

<root>
  <tag-a>
    <tag-b />
  </tag-a>
</root>

我的申请要求tag-b无法在tag-a内使用,所以我输出:

Error: tag-b cannot have a tag-a as parent. Check:

input.xml:
   ...
   3: <tag-b />
   ...

XSD或DTD不是一个选项,因为我的问题比示例中的更复杂。

在我的代码中,我处理NodeElement,...,我需要的是一个神奇的getSourceXML方法,例如:

Element e = ...;
if (e /* something wrong */) { 
    System.err.println("Error " + e.getSourceXML());
}

在XML中转换Element是没有用的,因为可能有多个相似的元素(例如:相同的标记名称/属性),我会向用户显示正确的元素(例如,第7行而不是第45行的那个。)

0 个答案:

没有答案