Operasi IO inti
Selain menyediakan alat untuk membaca file data spasial, modul IO spasial memaparkan pustaka inti yang mendasarinya untuk membaca dan menulis XML dan data yang dibatasi dengan cepat dan efisien.
Namespace layanan atlas.io.core
berisi dua kelas tingkat rendah yang dapat dengan cepat membaca dan menulis data CSV dan XML. Kelas dasar ini memberi daya pada pembaca dan penulis data spasial dalam modul IO Spasial. Jangan ragu untuk menggunakannya untuk menambahkan lebih banyak dukungan membaca dan menulis untuk file CSV atau XML.
Membaca file yang dibatasi
Kelas atlas.io.core.CsvReader
membaca string yang berisi himpunan data yang dibatasi. Kelas ini menyediakan dua metode untuk membaca data:
- Fungsi membaca
read
himpunan data lengkap dan mengembalikan array string dua dimensi yang mewakili semua sel himpunan data yang dibatasi. - Fungsi
getNextRow
membaca setiap baris teks dalam himpunan data yang dibatasi dan mengembalikan larik string yang mewakili semua sel dalam baris himpunan data tersebut. Pengguna dapat memproses baris dan membuang memori yang tidak diperlukan dari baris tersebut sebelum memproses baris berikutnya. Jadi, fungsi memori lebih hemat.
Secara default, pembaca menggunakan karakter koma sebagai pemisah. Namun, pemisah dapat diubah ke karakter tunggal apa pun atau disetel ke 'auto'
. Saat diatur ke 'auto'
, pembaca menganalisis baris pertama teks dalam string. Kemudian, ia memilih karakter yang paling umum dari tabel berikut untuk digunakan sebagai pemisah.
Pemisah | karakter |
---|---|
Koma | , |
Tab | \t |
Pipa | | |
Pembaca ini juga mendukung kualifikasi teks yang digunakan untuk menangani sel yang berisi karakter pemisah. Karakter kuotasi ('"'
) adalah kualifikasi teks default, tetapi dapat diubah ke karakter tunggal apa pun.
Menulis file yang dibatasi
atlas.io.core.CsvWriter
menulis larik objek sebagai string yang dibatasi. Setiap karakter tunggal dapat digunakan sebagai pemisah atau kualifikasi teks. Pemisah default adalah koma (','
) dan kualifikasi teks default adalah karakter kuotasi ('"'
).
Ikuti langkah-langkah untuk menggunakan kelas ini:
- Buat instans kelas dan secara opsional tetapkan pemisah atau kualifikasi teks kustom.
- Tulis data ke kelas menggunakan fungsi
write
atau fungsiwriteRow
. Untuk fungsiwrite
, berikan larik objek dua dimensi yang mewakili beberapa baris dan sel. Untuk menggunakan fungsiwriteRow
, berikan larik objek yang mewakili baris data dengan beberapa kolom. - Panggil fungsi
toString
untuk mengambil string yang dibatasi. - Secara opsional, panggil metode
clear
untuk membuat penulis dapat digunakan kembali dan mengurangi alokasi sumber dayanya, atau panggil metodedelete
untuk membuang instans penulis.
Catatan
Jumlah kolom yang ditulis akan dibatasi dengan jumlah sel di baris pertama dari data yang diteruskan ke penulis.
Membaca file XML
Kelas atlas.io.core.SimpleXmlReader
ini lebih cepat dalam mengurai file XML daripada DOMParser
. Namun, kelas atlas.io.core.SimpleXmlReader
mengharuskan file XML diformat dengan baik. File XML yang tidak diformat dengan baik, misalnya tag penutup yang hilang, dapat mengakibatkan kesalahan.
Kode berikut menunjukkan cara menggunakan kelas SimpleXmlReader
untuk mengurai string XML menjadi objek JSON dan membuat serial ke dalam format yang diinginkan.
//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.
}
}
}
Menulis file XML
Kelas atlas.io.core.SimpleXmlWriter
menulis XML yang diformat dengan baik dengan cara yang efisien memori.
Kode berikut menunjukkan cara menggunakan kelas SimpleXmlWriter
untuk menghasilkan string XML yang diformat dengan baik.
//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();
XML yang dihasilkan dari kode di atas akan terlihat seperti berikut ini.
<?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>
Langkah berikutnya
Pelajari selengkapnya tentang kelas dan metode yang digunakan di artikel ini:
Lihat artikel berikut untuk mengetahui sampel kode lainnya yang akan ditambahkan ke peta Anda: