xml转json

This commit is contained in:
gexinzhineng/gxzn27 2023-02-02 13:35:58 +08:00
parent ff147137c8
commit 2d5470bcf3
3 changed files with 17 additions and 21 deletions

View File

@ -43,7 +43,7 @@
"echarts-wordcloud": "^2.1.0",
"element-plus": "2.2.28",
"fast-xml-parser": "^4.0.13",
"highlight.js": "^9.18.5",
"highlight.js": "^11.7.0",
"intro.js": "^6.0.0",
"jsencrypt": "^3.3.1",
"lodash-es": "^4.17.21",
@ -53,6 +53,7 @@
"pinia": "^2.0.29",
"qrcode": "^1.5.1",
"qs": "^6.11.0",
"steady-xml": "^0.1.0",
"url": "^0.11.0",
"vue": "3.2.45",
"vue-i18n": "9.2.2",

View File

@ -188,22 +188,14 @@
<!-- <div id="js-properties-panel" class="panel"></div> -->
<!-- <div class="my-process-designer__canvas" ref="bpmn-canvas"></div> -->
</div>
<XModal
title="预览"
width="80%"
height="90%"
v-model="previewModelVisible"
append-to-body
destroy-on-close
>
<div v-highlight>
<pre>
<code>
<XModal title="预览" width="80%" height="90%" v-model="previewModelVisible" destroy-on-close>
<!-- append-to-body -->
<pre v-highlight>
<code class="hljs">
<!-- 高亮代码块 -->
{{ previewResult }}
</code>
</pre>
</div>
<!-- <pre>
<code class="hljs" v-html="highlightedCode(previewType, previewResult)"></code>
</pre> -->
@ -241,7 +233,7 @@ import flowableModdleExtension from './plugins/extension-moddle/flowable'
// json
// import xml2js from 'xml-js'
import xml2js from 'fast-xml-parser'
// import { XmlNode, XmlNodeType, parseXmlString } from 'steady-xml'
import { XmlNode, XmlNodeType, parseXmlString } from 'steady-xml'
//
// import hljs from 'highlight.js/lib/highlight'
// import 'highlight.js/styles/github-gist.css'
@ -638,18 +630,21 @@ const previewProcessJson = () => {
// const rootNode = parseXmlString(xml)
// console.log(rootNode, 'rootNoderootNode')
// const rootNodes = new XmlNode(XmlNodeType.Root)
// rootNodes.toJsObject()
// console.log(JSON.stringify(rootNodes), ';;;;;;;;;;;;;;;')
const rootNodes = new XmlNode(XmlNodeType.Root, parseXmlString(xml))
// console.log(rootNodes, 'rootNodesrootNodesrootNodes')
// console.log(rootNodes.parent.toJsObject(), 'rootNodes.toJSON()')
// console.log(JSON.stringify(rootNodes.parent.toJsObject()), 'rootNodes.toJSON()')
// console.log(JSON.stringify(rootNodes.parent.toJSON()), 'rootNodes.toJSON()')
const parser = new xml2js.XMLParser()
let jObj = parser.parse(xml)
// console.log(jObj, 'jObjjObjjObjjObjjObj')
console.log(jObj, 'jObjjObjjObjjObjjObj')
// const builder = new xml2js.XMLBuilder(xml)
// const xmlContent = builder
// console.log(xmlContent, 'xmlContent')
// console.log(xml2js, 'convertconvertconvert')
previewResult.value = jObj
previewResult.value = rootNodes.parent.toJSON()
// previewResult.value = jObj
// previewResult.value = convert.xml2json(xml, {explicitArray : false},{ spaces: 2 })
previewType.value = 'json'
previewModelVisible.value = true

View File

@ -50,7 +50,7 @@ import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css'
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'
import hljs from 'highlight.js' //导入代码高亮文件
import 'highlight.js/styles/github-gist.css' //导入代码高亮样式
import 'highlight.js/styles/github.css' //导入代码高亮样式 新版
// 本地开发模式 全局引入 element-plus 样式,加快第一次进入速度
if (isDevMode()) {
@ -66,7 +66,7 @@ const setupAll = async () => {
app.directive('highlight', function (el) {
const blocks = el.querySelectorAll('code')
blocks.forEach((block: any) => {
hljs.highlightBlock(block)
hljs.highlightElement(block)
})
})