XML文件解析在javascript中怎么做。大文件可能使用SAX?

时间:2011-05-19 02:04:05

标签: javascript xml file sax

G'day All,

我把头发拉出来,头疼,眼睛疼。我一直在这里,我似乎到了哪里。

这将是我第一次使用xml,并且真的想要让它工作。这是一个大文件。我的眼睛很大+ -5mb。我无法想象这个文件会被加载到内存中进行处理。用户会对此感到有点恼火。

基本上我们使用第三方网站来进行电子商务。因此,除了通过管理区域,我们无法访问数据库。

我们想要做的是确保在地址方面没有任何问题。因此,我们将这个xml文件放在一起,列出了所有包含区域和状态的邮政编码:

<?xml version="1.0"?>
<POSTCODES>
    <PostCode id="2035">
        <Area>2035 1</Area>
        <Area>2035 2</Area>
        <Area>2035 3</Area>
        <State>NSW</State>
    </Postcode>
    <PostCode id="2038">
        <Area>2038 1</Area>
        <Area>2038 2</Area>
        <Area>2038 3</Area>
        <State>NSW</State>
    </Postcode>
    <PostCode id="2111">
        <Area>2111 1</Area>
        <Area>2111 2</Area>
        <Area>2111 3</Area>
        <State>NSW</State>
    </Postcode>
</POSTCODES>

有人建议SAX但被问到怎么时突然死了?除非我看起来不正确,否则网络没有帮助。我看到了很多例子。要么他们不显示如何读取文件,而是从textarea中执行,或者示例是在java中。

我们想要什么?用户输入的邮政编码为2038.我们想要查看包含该数据的javascript,并将该邮政编码内的所有郊区返回给我们。

那里的任何人都可以告诉我下载什么以及如何使用它来获得我需要的东西?

请p拜托。很难看到一个成年男子乞讨和哭泣,但我是。

2 个答案:

答案 0 :(得分:2)

听起来你想在服务器上建一个基于用户邮政编码选择建议郊区的脚本?您可以使用jQuery的ajax功能来执行此操作。

您也可以使用jQueryUI的自动完成控件来解析XML并提出建议:http://jqueryui.com/demos/autocomplete/#xml

也可以在javascript中完全执行此操作,而无需在服务器端使用任何脚本,但如果XML文件为5MB,则加载速度非常慢。通过在从服务器传输之前对其进行gzipping,您可能会大大减少文件大小。

答案 1 :(得分:1)

如果你需要在Javascript中解析它,你可以使用jQuery http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery