cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanBagaimana untuk menukar objek kepada fail xml dalam javascript

Dalam pembangunan bahagian hadapan, kami selalunya perlu menukar objek JavaScript kepada fail XML untuk berkongsi data antara aplikasi yang berbeza. Walaupun adalah mungkin untuk menulis kod secara manual untuk menjana XML, kaedah ini memakan masa dan terdedah kepada ralat. Oleh itu, artikel ini akan memperkenalkan beberapa kaedah untuk menukar objek JavaScript kepada fail XML. Saya harap ia akan membantu anda.

Kaedah 1: Gunakan perpustakaan js2xmlparser

js2xmlparser ialah perpustakaan untuk menukar objek JavaScript kepada rentetan XML. Ia mudah digunakan, menyokong sebarang atribut dan hierarki bersarang, dan mengendalikan isu seperti aksara khas apabila mengeluarkan XML.

Pemasangan:

Gunakan npm untuk memasang:

npm install js2xmlparser

Gunakan benang untuk memasang:

yarn add js2xmlparser

Contoh penggunaan:

const parser = require('js2xmlparser');

const object = {
    name: 'John Smith',
    age: 30,
    email: 'john.smith@example.com'
};

const xml = parser.parse('person', object);
console.log(xml);

Output:

<?xml  version="1.0" encoding="UTF-8"?>
<person>
  <name>John Smith</name>
  <age>30</age>
  <email>john.smith@example.com</email>
</person>

Kaedah 2: Sambung rentetan XML secara manual

Jika anda tidak mahu menggunakan pustaka pihak ketiga, anda juga boleh menyambung rentetan XML secara manual. Berikut ialah contoh kod yang menukar objek JavaScript kepada fail XML:

function objectToXml(obj, rootName) {
  let xml = '';

  // 添加 XML 声明
  xml += '<?xml  version="1.0" encoding="UTF-8"?>';

  // 添加根元素标签
  xml += ``;

  // 遍历对象属性,添加元素标签和属性
  for (const property in obj) {
    if (obj.hasOwnProperty(property)) {
      xml += '';

      if (typeof obj[property] === 'object') {
        xml += objectToXml(new Object(obj[property]));
      } else {
        xml += obj[property];
      }

      xml += '' + property + '>';
    }
  }

  // 添加根元素闭合标签
  xml += `${rootName}>`;

  return xml;
}

const obj = {
  name: 'John',
  age: 30,
  dateOfBirth: {
    year: 1990,
    month: 3,
    day: 15
  }
};

const xml = objectToXml(obj, 'person');
console.log(xml);

Output:

<?xml  version="1.0" encoding="UTF-8"?>
<person>
  <name>John</name>
  <age>30</age>
  <dateofbirth>
    <year>1990</year>
    <month>3</month>
    <day>15</day>
  </dateofbirth>
</person>

Kaedah 3: Gunakan XMLSerializer API

XMLSerializer dibina -dalam JavaScript API untuk mensiri pepohon DOM ke dalam rentetan XML. Oleh itu, kami boleh mencapai tujuan menukar objek JavaScript kepada fail XML dengan mencipta pepohon DOM yang mengandungi objek JavaScript kami. Berikut ialah contoh kod:

function objectToXml(obj, rootName) {
  const dom = document.createElement(rootName);

  for (const property in obj) {
    if (obj.hasOwnProperty(property)) {
      const element = document.createElement(property);

      if (typeof obj[property] === 'object') {
        element.appendChild(objectToXml(new Object(obj[property]), property));
      } else {
        const value = document.createTextNode(obj[property]);
        element.appendChild(value);
      }

      dom.appendChild(element);
    }
  }

  return dom;
}

const obj = {
  name: 'John',
  age: 30,
  dateOfBirth: {
    year: 1990,
    month: 3,
    day: 15
  }
};

const xmlSerializer = new XMLSerializer();
const xml = xmlSerializer.serializeToString(objectToXml(obj, 'person'));
console.log(xml);

Output:

<person>
  <name>John</name>
  <age>30</age>
  <dateofbirth>
    <year>1990</year>
    <month>3</month>
    <day>15</day>
  </dateofbirth>
</person>

Kesimpulan

Artikel ini memperkenalkan tiga cara untuk menukar objek JavaScript kepada fail XML. Kaedah pertama menggunakan perpustakaan js2xmlparser, yang mudah digunakan dan berkuasa. Kaedah kedua ialah menyambung rentetan XML secara manual Jika anda tidak mahu memasang pustaka pihak ketiga, anda boleh memilih kaedah ini. Kaedah ketiga ialah menggunakan API XMLSerializer, yang memerlukan penciptaan pepohon DOM untuk dilaksanakan, tetapi jika anda sering menggunakan operasi DOM dalam kerja anda, kaedah ini mungkin lebih sesuai untuk anda. Saya harap artikel ini membantu anda mencari kaedah penukaran yang sesuai untuk anda.

Atas ialah kandungan terperinci Bagaimana untuk menukar objek kepada fail xml dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah pengertian antara pemilih kelas dan ID?Apakah pengertian antara pemilih kelas dan ID?May 12, 2025 am 12:13 AM

ClassselectorsareversatileAndreusable, whersidselectorsareuniqueandspecific.1) useClassSelectors (Denotedby.)

CSS IDS vs Kelas: Perbezaan SebenarCSS IDS vs Kelas: Perbezaan SebenarMay 12, 2025 am 12:10 AM

Idsareuniqueidiciersforsingleelements, whileClassesstylemultipleelements.1) usidsforuniqueelementsandjavascripthooks.2) useclassforreusable, flexiblestylingacrossmultipleelements.

CSS: Bagaimana jika saya menggunakan kelas hanya?CSS: Bagaimana jika saya menggunakan kelas hanya?May 12, 2025 am 12:09 AM

Menggunakan pemilih kelas sahaja boleh meningkatkan kebolehgunaan semula kod dan penyelenggaraan, tetapi memerlukan menguruskan nama dan keutamaan kelas. 1. Meningkatkan kebolehgunaan semula dan fleksibiliti, 2. Menggabungkan pelbagai kelas untuk mewujudkan gaya kompleks, 3.

Pemilih ID dan Kelas dalam CSS: Panduan PemulaPemilih ID dan Kelas dalam CSS: Panduan PemulaMay 12, 2025 am 12:06 AM

Pemilih ID dan kelas digunakan dalam CSS untuk tetapan gaya unik dan pelbagai elemen masing-masing. 1. Pemilih ID (#) sesuai untuk satu elemen, seperti menu navigasi tertentu. 2.Class Selector (.) Digunakan untuk pelbagai elemen, seperti gaya butang bersatu. ID harus digunakan dengan berhati -hati, mengelakkan kekhususan yang berlebihan, dan mengutamakan kelas untuk kebolehgunaan semula gaya dan fleksibiliti yang lebih baik.

Memahami Spesifikasi HTML5: Objektif dan Manfaat UtamaMemahami Spesifikasi HTML5: Objektif dan Manfaat UtamaMay 12, 2025 am 12:06 AM

Matlamat utama dan kelebihan HTML5 termasuk: 1) Struktur semantik web yang dipertingkatkan, 2) sokongan multimedia yang lebih baik, dan 3) mempromosikan keserasian silang platform. Matlamat ini membawa kepada kebolehcapaian yang lebih baik, pengalaman pengguna yang lebih kaya dan proses pembangunan yang lebih cekap.

Matlamat HTML5: Panduan Pemaju untuk Masa Depan WebMatlamat HTML5: Panduan Pemaju untuk Masa Depan WebMay 11, 2025 am 12:14 AM

Matlamat HTML5 adalah untuk memudahkan proses pembangunan, meningkatkan pengalaman pengguna, dan memastikan rangkaian yang dinamik dan boleh diakses. 1) memudahkan perkembangan kandungan multimedia dengan menyokong elemen audio dan video secara asli; 2) memperkenalkan unsur -unsur semantik seperti, dan lain -lain untuk meningkatkan struktur kandungan dan keramahan SEO; 3) Meningkatkan fungsi luar talian melalui cache aplikasi; 4) Gunakan elemen untuk meningkatkan interaktiviti halaman; 5) mengoptimumkan keserasian mudah alih dan reka bentuk responsif sokongan; 6) memperbaiki fungsi bentuk dan memudahkan proses pengesahan; 7) Menyediakan alat pengoptimuman prestasi seperti async dan menunda atribut.

HTML5: Mengubah Web dengan ciri dan keupayaan baruHTML5: Mengubah Web dengan ciri dan keupayaan baruMay 11, 2025 am 12:12 AM

HTML5TransformSweBdevelopmentByIntroducingsemanticeLements, Multimediacapabilities, PowerveLAPIS, andPerformanceOptimizationS.1) Semantikelements ,,, andenhanceseoandaccessibility.2) MultimediaelementsandAllowDirectembedingWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutWithoutPlug

ID vs Kelas dalam CSS: Perbandingan KomprehensifID vs Kelas dalam CSS: Perbandingan KomprehensifMay 11, 2025 am 12:12 AM

ThereAldifferencebetweeninginganidversusaclassincsisthatidsareuniqueandhavehighspecificity, whileClassarereusableandbetterforstylingmultipleelements.USEIDSFORJAVASCRIPTHOOKSORUELEMENTS, andUseSlassesfarlylypureSpureShipsy

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual