Skip to content

informat.xml xml操作相关

概述

使用informat.xml执行XML的读写操作

parse

读取XML内容并返回Document对象。如果xml的内容为null或者空字符串将会返回null,如果内容结构不是正确的xml格式,将会抛出异常

javascript
informat.xml.parse(xml)
参数类型描述
xmlStringxml内容

返回值 类型为org.w3c.dom.Document

关于w3c Document 的API方法可参见 https://docs.oracle.com/javase/7/docs/api/org/w3c/dom/Document.html

以下是一个例子

js
let doc = informat.xml.parse("<root name='test'>text content</root>");
let name = doc.getDocumentElement().getAttribute("name");
console.log(name);//test

createDocument

创建一个新的Document对象

javascript
informat.xml.createDocument()

返回值 类型为org.w3c.dom.Document

关于w3c Document 的API方法可参见 https://docs.oracle.com/javase/7/docs/api/org/w3c/dom/Document.html

doc2xml

将Document对象转换为xml字符串

javascript
informat.xml.doc2xml(doc, config)
参数类型描述
docDocumentxml文档对象
configConfig输出配置

config对象的结果如下

{
    doctypeSystem:String,//
    doctypePublic:String
    indent:Boolean,//默认为false,是否缩进xml
    indentAmount:Integer,//缩进量长度,默认为0
    standalone:Boolean,xml元素中standalone的值
    version:String,xml元素中version的值
    encoding:String,xml元素中encoding的值
    omitXmlDeclaration:Boolean,//是否不输出xml头
}

返回值 类型为 String

以下是一个例子

js
let doc = informat.xml.createDocument();
let rootElement = doc.createElement("company");
doc.appendChild(rootElement);
doc.createElement("staff");
rootElement.appendChild(doc.createElement("staff"));
//
let config = {};
config.doctypeSystem = "doctype system";
config.doctypePublic = "doctype public";
config.indent = true;
config.indentAmount=2;
config.standalone = false;
config.version = "1.1";
config.encoding = "utf-8";
//
let xml = informat.xml.doc2xml(doc, config);
console.log(xml);
xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE company PUBLIC "doctype public" "doctype system">
<company>
    <staff/>
</company>

如果config设置如下

config.omitXmlDeclaration=true;
config.indent=true;

输出结果为

xml
<!DOCTYPE company PUBLIC "doctype public" "doctype system">
<company>
    <staff/>
</company>