xml-js-parse
v0.0.1
Published
Parse the xml as a js object or build an xml through a js object
Readme
xml-js-parse
Parse the xml as a js object or build an xml through a js object.
Usage
npm i xml-js-parse -Sconst xmlParser = new require('xml-js-parse').Parser()
const xml = `
<xml>
<name>xiaobai</name>
</xml>
`
const obj = xmlParser.parseString(xml)new Parser([options])
options<Object> 配置对象trim<boolean> 去除文本节点头尾的空格。默认为false。normalize<boolean> 去除文本节点内的空格。默认为false。normalizeTags<boolean> 将所有标签名转成小写字母。默认为false。ignoreAttrs<boolean> 忽略属性节点。默认为false。attrkey<string> 设置属性节点的字段名。默认为$。charkey<string> 设置文本节点的字段名。默认为_。explicitArray<boolean> 保存子元素为数组。默认为true。当设置为false,只有出现多个相同标签名的子元素时才合并成数组。
parseString
解析 xml 数据为对象。
xml<string>
const xmlParser = new Parser({ explicitArray: false })
const xml = `
<user>
<name>xiaobai</name>
<age>12</age>
</user>
<user>
<name>xiaohong</name>
<age>11</age>
</user>
<count>2</count>
`
const result = xmlParser.parseString(xml)
/**
{
user: [
{
name: 'xiaobai',
age: '12'
},
{
name: 'xiaohong',
age: '11'
}
],
count: '2'
}
*/new Builder([options])
options<Object> 配置对象rootName<string> 根节点名称。默认为root。renderOpts<Object>pretty<boolean> 使用格式。默认为true。indent<string> 缩进。默认为' '。newline<string> 换行。默认\n。
xmldec<Object>version<string> 头信息,版本号。默认1.0。encoding<string> 头信息,编码格式。默认UTF-8。standalone<boolean> 头信息,独立。默认true。
headless<boolean> 去除头信息。默认false。cdata<boolean> 当文本节点包含非法xml字符时,用<![CDATA[……]]>包含。默认false。
buildObject
- obj <Object> 要构建
xml的对象。
const xmlBuilder = new Builder()
const obj = { name: 'xiaobai' }
const xml = xmlBuilder.buildObject(obj)
/**
<root>
<name>xiaobai</name>
</root>
*/