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


Alapvető IO-műveletek

A térbeli adatfájlok olvasására szolgáló eszközök mellett a térbeli IO-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 olvashatják és írhatnak CSV- és XML-adatokat. Ezek az alaposztályok a térbeli adatolvasókat és -írókat a térbeli IO-modulban űzik. 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

Az atlas.io.core.CsvReader osztály elhatárolt adathalmazokat tartalmazó sztringeket olvas be. 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 adathalmazban, és egy sztringtömböt ad vissza, amely az adathalmaz összes celláját jelöli. A felhasználó feldolgozhatja a sort, és a következő sor feldolgozása előtt eltávolíthat minden 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ó a következőre 'auto': . Ha be 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 Karakter
Vessző ,
Lap \t
Cső |

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

Tagolt fájlok írása

Az atlas.io.core.CsvWriter objektumtömböt tagolt sztringként írja. Bármely karakter használható elválasztóként vagy szöveg minősítő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 az osztály egy példányát, és igény szerint egyéni elválasztó vagy szöveg minősítőt állítson be.
  • Adatok írása az osztályba a függvény vagy a write 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 képviselő objektumtömböt.
  • Hívja meg a toString függvényt a tagolt sztring lekéréséhez.
  • Igény szerint hívja meg a metódust, clear hogy az író újrafelhasználható legyen, és csökkentse az erőforrás-lefoglalását, vagy hívja meg a delete metódust az írópéldány törléséhez.

Feljegyzés

A megírt oszlopok száma az írónak átadott adatok első sorában lévő cellák 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ó az SimpleXmlReader osztály egy XML-sztring JSON-objektumba 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ó az SimpleXmlWriter osztály egy jól formázott XML-sztring létrehozásához.

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

További kódmintákat a térképekhez a következő cikkekben talál:

Támogatott adatformátum részletei