XML解析太慢了!

yom*_*xzo 7 java xml optimization parsing xml-parsing

我写了一个java应用程序,用于使用XML与Web应用程序进行通信.部署之后,我发现解析Web应用程序生成的XML需要很长时间.

例如,登录大约需要2分钟; 登录信息包含在网址中.Web应用程序执行其处理并响应Java应用程序,无论登录是否使用返回的XML成功.

我使用标准的java DOM解析.

有没有办法可以优化这个过程,以便活动更快?

om-*_*nom 29

我遇到了同样的问题,并设法通过关闭DocumentBuilder默认执行的所有验证来加速解析器:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

factory.setNamespaceAware(false);
factory.setValidating(false);
factory.setFeature("http://xml.org/sax/features/namespaces", false);
factory.setFeature("http://xml.org/sax/features/validation", false);
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
factory.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);

// then take a builder via `factory.newDocumentBuilder()` and parse doc with that builder
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,我刚刚遇到的问题!你救我了我的时间:) (2认同)

Pet*_*rey 3

使用标准 XML 解析器,应在大约一毫秒内解析一条短消息。使用自定义解析器,您可以将其缩短到大约 20 微秒。任何比这个时间长的时间都不在 XML 解析中