如何在本机(JavaScript)中创建XML文档?

时间:2016-11-21 19:46:54

标签: xml react-native

什么是创建 XML in react native?

的解决方案

我的目标是使用react-native-fs

创建XML内容并序列化到本地文件

为了阅读XML,我使用DOMParser。

const DOMParser = require('xmldom').DOMParser;

在本机环境下编写XML有什么用?

提前致谢,

1 个答案:

答案 0 :(得分:3)

没关系......

xmldom中的DOMParser也可以创建XML

请参阅:xmldom

https://www.npmjs.com/package/xmldom

const DOMParser = require('xmldom').DOMParser;
const XMLSerializer = require('xmldom').XMLSerializer;

// Append a child element
function appendChild(xmlDoc, parentElement, name, text) {
  let childElement = xmlDoc.createElement(name);
  if (typeof text !== 'undefined') {
    let textNode = xmlDoc.createTextNode(text);
    childElement.appendChild(textNode);
  }
  parentElement.appendChild(childElement);
  return childElement;
}

export function exportToXmlDoc(myPlan) {

  // documentElement always represents the root node
  const xmlDoc = new DOMParser().parseFromString("<doc></doc>");
  const rootElement = xmlDoc.documentElement;
  const folderElement = appendChild(xmlDoc, rootElement, 'folder');
  appendChild(xmlDoc, folderElement, 'version', 0);
  const planElement = appendChild(xmlDoc, folderElement, 'plan');
  appendChild(xmlDoc, planElement, 'name', 'Eddie');

  const xmlSerializer = new XMLSerializer();
  const xmlOutput = xmlSerializer.serializeToString(xmlDoc);

  console.log("xmlOutput:", xmlOutput);

  return xmlOutput;
}

xmlOutput:

<doc>
    <folder>
        <version>0</version>
        <plan>
              <name>Eddie</name>
        </plan>
    </folder>
</doc>