Megosztás a következőn keresztül:


Alapvető I/O-műveletek

A térbeli adatfájlok olvasására szolgáló eszközök mellett a térbeli I/O-modul az alapvető mögöttes kódtárakat is elérhetővé teszi az XML és a tagolt adatok gyors és hatékony olvasásához és írásához.

A atlas.io.core névtér két alacsony szintű osztályt tartalmaz, amelyek gyorsan képesek CSV- és XML-adatok olvasására és írására. Ezek az alaposztályok a Térbeli I/O-modul térbeli adatolvasóit és íróit ják. Nyugodtan használhatja őket, hogy további olvasási és írási támogatást adjon a CSV- vagy XML-fájlokhoz.

Tagolt fájlok olvasása

A atlas.io.core.CsvReader osztály beolvassa a tagolt adatkészleteket tartalmazó sztringeket. Ez az osztály két módszert biztosít az adatok olvasására:

  • A read függvény beolvassa a teljes adatkészletet, és egy kétdimenziós sztringtömböt ad vissza, amely a tagolt adatkészlet összes celláját képviseli.
  • A getNextRow függvény beolvassa az egyes szövegsorokat egy tagolt adatkészletben, és egy sztringtömböt ad vissza, amely az adott adatsor összes celláját képviseli. A felhasználó feldolgozhatja a sort, és a következő sor feldolgozása előtt eltávolíthatja a felesleges memóriát az adott sorból. A függvény tehát hatékonyabb memóriahasználatot eredményez.

Alapértelmezés szerint az olvasó a vessző karaktert használja elválasztóként. Az elválasztó karakter azonban bármely karakterre módosítható, vagy beállítható értékre.'auto' Ha a értékre van 'auto'állítva, az olvasó elemzi a sztring első szövegsorát. Ezután kiválasztja az alábbi táblázat legelterjedtebb karakterét, amelyet elválasztóként használ.

Elválasztó Karakter
Vessző ,
Tab \t
Cső |

Ez az olvasó az elválasztó karaktert tartalmazó cellák kezelésére használt szövegjelölőket is támogatja. Az idézőjel ('"') karakter az alapértelmezett szövegjelölő, de bármely karakterre módosítható.

Tagolt fájlok írása

A atlas.io.core.CsvWriter objektumtömböt tagolt sztringként ír. Bármely karakter használható elválasztóként vagy szövegjelölőként. Az alapértelmezett elválasztó vessző (',') és az alapértelmezett szövegjelölő az idézőjel ('"') karakter.

Az osztály használatához kövesse az alábbi lépéseket:

  • Hozza létre a osztály egy példányát, és igény szerint állítson be egyéni elválasztót vagy szövegjelölőt.
  • Adatok írása a osztályba a write függvény vagy a writeRow függvény használatával. write A függvényhez adjon át egy kétdimenziós objektumtömböt, amely több sort és cellát jelöl. A writeRow függvény használatához adjon át egy több oszlopból álló adatsort jelölő objektumtömböt.
  • Hívja meg a függvényt toString a tagolt sztring lekéréséhez.
  • Ha szeretné, hívja meg a metódust, clear hogy az író újrafelhasználható legyen, és csökkentse az erőforrás-lefoglalást, vagy hívja meg a delete metódust az írópéldány törléséhez.

Megjegyzés

A megírt oszlopok száma az írónak átadott adatok első sorának celláinak számához lesz korlátozva.

XML-fájlok olvasása

Az atlas.io.core.SimpleXmlReader osztály gyorsabban elemzi az XML-fájlokat, mint DOMParsera . Az atlas.io.core.SimpleXmlReader osztálynak azonban megfelelően kell formáznia az XML-fájlokat. A nem megfelelően formázott XML-fájlok( például hiányzó záró címkék) hibát okozhatnak.

Az alábbi kód bemutatja, hogyan használható a SimpleXmlReader osztály egy XML-sztring JSON-objektummá való elemzésére és kívánt formátumba való szerializálására.

//Create an instance of the SimpleXmlReader and parse an XML string into a JSON object.
var xmlDoc = new atlas.io.core.SimpleXmlReader().parse(xmlStringToParse);

//Verify that the root XML tag name of the document is the file type your code is designed to parse.
if (xmlDoc && xmlDoc.root && xmlDoc.root.tagName && xmlDoc.root.tagName === '<Your desired root XML tag name>') {

    var node = xmlDoc.root;

    //Loop through the child node tree to navigate through the parsed XML object.
    for (var i = 0, len = node.childNodes.length; i < len; i++) {
        childNode = node.childNodes[i];

        switch (childNode.tagName) {
            //Look for tag names, parse and serialized as desired.
        }
    }
}

XML-fájlok írása

Az atlas.io.core.SimpleXmlWriter osztály jól formázott XML-t ír memória hatékonyan.

Az alábbi kód bemutatja, hogyan használható a SimpleXmlWriter osztály egy jól formázott XML-sztring létrehozására.

//Create an instance of the SimpleXmlWriter class.
var writer = new atlas.io.core.SimpleXmlWriter();

//Start writing the document. All write functions return a reference to the writer, making it easy to chain the function calls to reduce the code size.
writer.writeStartDocument(true)
    //Specify the root XML tag name, in this case 'root'
    .writeStartElement('root', {
        //Attributes to add to the root XML tag.
        'version': '1.0',
        'xmlns': 'http://www.example.com',
         //Example of a namespace.
        'xmlns:abc': 'http://www.example.com/abc'
    });

//Start writing an element that has the namespace abc and add other XML elements as children.
writer.writeStartElement('abc:parent');

//Write a simple XML element like <title>Azure Maps is awesome!</title>
writer.writeElement('title', 'Azure Maps is awesome!');

//Close the element that we have been writing children to.
writer.writeEndElement();

//Finish writing the document by closing the root tag and the document.
writer.writeEndElement().writeEndDocument();

//Get the generated XML string from the writer.
var xmlString = writer.toString();

A fenti kódból létrehozott XML az alábbihoz hasonlóan nézne ki.

<?xml version="1.0" encoding="UTF-8"?>
<root version="1.0" xmlns="http://www.example.com" xmlns:abc="http://www.example.com/abc">
    <abc:parent>
        <title>Azure Maps is awesome!</title>
    </abc:parent>
</root>

Következő lépések

További információ a cikkben használt osztályokról és módszerekről:

CsvReader

CsvWriter

SimpleXmlReader

SimpleXmlWriter

A következő cikkekben további kódmintákat talál, amelyek hozzáadandók a térképekhez:

Támogatott adatformátumokra vonatkozó részletek