Hướng dẫn convert object to xml javascript - chuyển đổi đối tượng sang javascript xml

Tôi đã viết chức năng sau đây để làm công việc này. Hoạt động khá tốt khi các bộ sưu tập (mảng) bên trong đối tượng của bạn được đặt tên bằng hậu tố "S" (như số nhiều cho nội dung của chúng).

function serializeNestedNodeXML(xmlDoc, parentNode, newNodeName, obj) {
    if (Array.isArray(obj)) {
        var xmlArrayNode = xmlDoc.createElement(newNodeName);
        parentNode.appendChild(xmlArrayNode);
        obj.forEach(function (e) {
            serializeNestedNodeXML(xmlDoc, xmlArrayNode, newNodeName.substring(0, newNodeName.length - 1), e)
        });
        return;     // Do not process array properties
    } else if (obj) {
        var objType = typeof obj;
        switch (objType) {
            case 'string': case 'number': case 'boolean':
                parentNode.setAttribute(newNodeName, obj)
                break;
            case 'object':
                var xmlProp = xmlDoc.createElement(newNodeName);
                parentNode.appendChild(xmlProp);
                for (var prop in obj) {
                    serializeNestedNodeXML(xmlDoc, xmlProp, prop, obj[prop]);
                }
                break;
        }
    }
}

Và tôi đã gọi nó theo cách này (như là một chức năng của chính lớp tuần tự hóa):

this.serializeToXML = function () {
    var xmlDoc = document.implementation.createDocument(null, "YourXMLRootNodeName", null);
    serializeNestedNodeXML(xmlDoc, xmlDoc.documentElement, 'YourSerializedClassName', this);
    var serializer = new XMLSerializer();
    return serializer.serializeToString(xmlDoc);
}

Nhưng một giờ sau tôi chuyển đến Json ...

node-object-to-xml

Chuyển đổi bất kỳ đối tượng JavaScript nào thành XML

Tải về

npm install object-to-xml

cách sử dụng

var o2x = require('object-to-xml');

var obj = { 

  '?xml version=\"1.0\" encoding=\"iso-8859-1\"?' : null,

  request : {

    '@' : {

      type : 'product',

      id : 12344556

    },

    '#' : {

      query : {

        vendor : 'redhat',

        name : 'linux'

      }

    }

  }

};

console.log(o2x(obj));

giấy phép

Giấy phép MIT (MIT)

Bản quyền (c) 2013 Daniel L. Verweire

Quyền được cấp, miễn phí, cho bất kỳ ai có được bản sao phần mềm này và các tệp tài liệu liên quan ("phần mềm"), để giải quyết phần mềm mà không bị hạn chế, bao gồm không giới hạn quyền sử dụng, sao chép, sửa đổi, hợp nhất , Xuất bản, Phân phối, Bán cấp và/hoặc Bán các bản sao của phần mềm và cho phép những người mà phần mềm được cung cấp để làm như vậy, tuân theo các điều kiện sau:

Thông báo bản quyền trên và Thông báo quyền này sẽ được bao gồm trong tất cả các bản sao hoặc các phần đáng kể của phần mềm.

Phần mềm được cung cấp "như là", không có bảo hành dưới bất kỳ hình thức nào, rõ ràng hay ngụ ý, bao gồm nhưng không giới hạn trong các bảo đảm của thương mại, thể lực cho một mục đích cụ thể và không bị thiếu sót. Trong mọi trường hợp, các tác giả hoặc chủ bản quyền sẽ phải chịu trách nhiệm đối với bất kỳ khiếu nại, thiệt hại hoặc trách nhiệm nào khác, cho dù trong hành động của hợp đồng, tra tấn hay nói cách khác, phát sinh từ hoặc liên quan đến phần mềm hoặc việc sử dụng hoặc các giao dịch khác trong PHẦN MỀM.

Làm thế nào để chuyển đổi đối tượng thành XML trong JavaScript?

Làm thế nào để sử dụng nó:..
Nhập TOXML. JS. ....
Chuyển đổi một đối tượng JavaScript thành chuỗi XML. const data = {"xml": {"@css": "script", "javaScript": {"html": "css"}}}; const xml = toxml (dữ liệu, null, 2); // Đầu ra CSS.
Parameters:.