2 Stimmen

XML-Datei Parse in Javascript, wie zu. Große Datei vielleicht SAX verwenden?

Guten Tag zusammen,

Ich reiße mir die Haare aus, bekomme Kopfschmerzen und meine Augen schmerzen. Ich bin hierhin und dorthin gegangen, und ich scheine zu verschwinden.

Dies wird meine erste Erfahrung mit Xml sein und ich würde das wirklich gerne zum Laufen bringen. Es ist eine große Datei. Nun groß in meinen Augen +-5mb. Ich kann mir nicht vorstellen, dass diese Datei in den Speicher geladen wird, um sie zu verarbeiten. Die Benutzer werden ein bisschen verärgert darüber sein.

Im Grunde genommen verwenden wir eine Website eines Drittanbieters für unseren elektronischen Handel. Wir haben also keinen Zugriff auf die Datenbank, außer über den Admin-Bereich.

Wir wollen sicherstellen, dass bei den Adressen nichts schief geht. Deshalb haben wir diese xml-Datei zusammengestellt, die alle Postleitzahlen mit Gebieten und Staaten auflistet:

<?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>

Jemand schlug SAX vor, starb aber plötzlich auf die Frage nach dem Wie? Das Internet ist nicht hilfreich, es sei denn, ich suche nicht richtig. Ich sehe eine Menge Beispiele. Entweder zeigen sie nicht, wie man die Datei liest, sondern wie man es in einem Textfeld macht, oder das Beispiel ist in Java.

Was wollen wir? Der Benutzer gibt eine Postleitzahl von 2038 ein. Wir wollen, um das Javascript mit diesen Daten zu gehen und haben uns alle Vororte, die innerhalb dieser Postleitzahl voll zurückgegeben.

Kann mir jemand sagen, was ich herunterladen muss und wie ich es verwenden kann, um das zu bekommen, was ich brauche?

Bitte, bitte, bitte. Es ist schwer, einen erwachsenen Mann betteln und weinen zu sehen, aber ich tue es.

2voto

Matthew Lock Punkte 12498

Klingt so, als ob Sie ein Skript auf dem Server haben wollen, das Vororte vorschlägt, die auf der Auswahl der Postleitzahl des Benutzers basieren? Sie könnten dafür die Ajax-Funktionalität von jQuery verwenden.

Möglicherweise können Sie auch das Autovervollständigungs-Steuerelement von jQueryUI verwenden, um XML zu analysieren und Vorschläge zu machen: http://jqueryui.com/demos/autocomplete/#xml

Es ist auch möglich, dies vollständig in Javascript ohne Skript auf der Server-Seite zu tun, aber es wäre ziemlich langsam beim Laden, wenn die XML-Datei 5MB ist. Sie könnten in der Lage sein, eine erhebliche Verringerung der Dateigröße durch gzipping es vor der Übertragung vom Server gedacht zu bekommen.

1voto

Newtang Punkte 6094

Wenn Sie dies in Javascript auswerten müssen, können Sie jQuery verwenden.
http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X