【发布时间】:2012-02-06 04:12:48
【问题描述】:
我正在尝试将我的一个使用DOM 解析和大量XPath 表达式的类迁移到SAX 解析。 DOM 解析对我来说很好,但是我尝试解析的一些文件太大了,它们会导致服务器超时。我想通过SAX 解析重用XPath,但我不确定这是否可能,如果不可能,请您帮助我,因为我不知道当我只使用@987654328 时以下代码将如何@:
Document doc = bpsXml.getDocument();
String supplierName = BPSXMLUtils.getXpathString(doc, "/Invoice/InvoiceHeader/Party[@stdValue='SU']/Name/Name1");
String language = BPSXMLUtils.getXpathString(doc, "/Invoice/InvoiceHeader/InvoiceLanguage/@stdValue");
【问题讨论】:
-
等等,你为什么要从带有 XPath 的 DOM 切换到 SAX?如果是因为您从 Web 获取文件而服务器发送文件的时间过长,请更改获取文件的方式,而不是解析文件的方式。
-
还有这个related SO post。一些答案提到了可用于此目的的工具和 API。