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. AwriteRow
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 adelete
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 DOMParser
a . 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:
További kódmintákat a térképekhez a következő cikkekben talál: