Java 查找XML文档中元素的确切位置

Java 查找XML文档中元素的确切位置,java,xml,xom,Java,Xml,Xom,我正在寻找一种在XML文档中查找元素确切位置的方法。我用XOM解析我的文档,并以通常的方式处理它。棘手的是,在XML文档中嵌入了一些脚本(只是文本节点),如果脚本失败(解析、逻辑等等),我想向用户(编写这些脚本的用户)报告脚本声明的确切行号 最理想的方法是这样: int scriptLine = someElement.getFirstChildElement("script").getDeclaringLineNumber(); 可悲的是,无论有没有XOM,我都找不到一种方法来实现这一点。如

我正在寻找一种在XML文档中查找元素确切位置的方法。我用XOM解析我的文档,并以通常的方式处理它。棘手的是,在XML文档中嵌入了一些脚本(只是文本节点),如果脚本失败(解析、逻辑等等),我想向用户(编写这些脚本的用户)报告脚本声明的确切行号

最理想的方法是这样:

int scriptLine = someElement.getFirstChildElement("script").getDeclaringLineNumber();

可悲的是,无论有没有XOM,我都找不到一种方法来实现这一点。如果有人有想法或已经做过类似的事情,我需要一些帮助。:-)

很久以前我用JDOM做过这个。通过扩展SAXBuilder并拦截startElement()和endElement()回调,可以使用SAX定位器使用行号信息更新专用元素实现。代码应该仍然存在。。。。是这里:

在src目录中搜索LineNumberSAXBuilder


我相信XOM有一个NodeFactory,可以用同样的方式进行扩展。

早在我使用JDOM时就这样做了。通过扩展SAXBuilder并拦截startElement()和endElement()回调,可以使用SAX定位器使用行号信息更新专用元素实现。代码应该仍然存在。。。。是这里:

在src目录中搜索LineNumberSAXBuilder


我相信XOM有一个NodeFactory,可以用同样的方式进行扩展。

这是一个非常好的提示!我会进一步调查,如果能找到解决方案,我会接受这个答案。无论如何,投票结果是上升的。:)这是一个很好的提示!我会进一步调查,如果能找到解决方案,我会接受这个答案。无论如何,投票结果是上升的。:)如果有人偶然发现了这个问题,并且与XOM有完全相同的问题,我对XOM进行了一些扩展,以访问NodeFactories中的Locator对象,该对象可用于提取行号和列号。您可以在这里找到它:如果有人偶然发现这个问题,并且与XOM有完全相同的问题,我对XOM进行了一些扩展,以访问NodeFactories中的Locator对象,该对象可用于提取行号和列号。你可以在这里找到它: