Commit 2d5470bcf3bc85c703f5fd6e7c56ac480cd53265

Authored by gexinzhineng/gxzn27
1 parent ff147137

xml转json

yudao-ui-admin-vue3/package.json
... ... @@ -43,7 +43,7 @@
43 43 "echarts-wordcloud": "^2.1.0",
44 44 "element-plus": "2.2.28",
45 45 "fast-xml-parser": "^4.0.13",
46   - "highlight.js": "^9.18.5",
  46 + "highlight.js": "^11.7.0",
47 47 "intro.js": "^6.0.0",
48 48 "jsencrypt": "^3.3.1",
49 49 "lodash-es": "^4.17.21",
... ... @@ -53,6 +53,7 @@
53 53 "pinia": "^2.0.29",
54 54 "qrcode": "^1.5.1",
55 55 "qs": "^6.11.0",
  56 + "steady-xml": "^0.1.0",
56 57 "url": "^0.11.0",
57 58 "vue": "3.2.45",
58 59 "vue-i18n": "9.2.2",
... ...
yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue
... ... @@ -188,22 +188,14 @@
188 188 <!-- <div id="js-properties-panel" class="panel"></div> -->
189 189 <!-- <div class="my-process-designer__canvas" ref="bpmn-canvas"></div> -->
190 190 </div>
191   - <XModal
192   - title="预览"
193   - width="80%"
194   - height="90%"
195   - v-model="previewModelVisible"
196   - append-to-body
197   - destroy-on-close
198   - >
199   - <div v-highlight>
200   - <pre>
201   - <code>
  191 + <XModal title="预览" width="80%" height="90%" v-model="previewModelVisible" destroy-on-close>
  192 + <!-- append-to-body -->
  193 + <pre v-highlight>
  194 + <code class="hljs">
202 195 <!-- 高亮代码块 -->
203 196 {{ previewResult }}
204 197 </code>
205 198 </pre>
206   - </div>
207 199 <!-- <pre>
208 200 <code class="hljs" v-html="highlightedCode(previewType, previewResult)"></code>
209 201 </pre> -->
... ... @@ -241,7 +233,7 @@ import flowableModdleExtension from &#39;./plugins/extension-moddle/flowable&#39;
241 233 // 引入json转换与高亮
242 234 // import xml2js from 'xml-js'
243 235 import xml2js from 'fast-xml-parser'
244   -// import { XmlNode, XmlNodeType, parseXmlString } from 'steady-xml'
  236 +import { XmlNode, XmlNodeType, parseXmlString } from 'steady-xml'
245 237 // 代码高亮插件
246 238 // import hljs from 'highlight.js/lib/highlight'
247 239 // import 'highlight.js/styles/github-gist.css'
... ... @@ -638,18 +630,21 @@ const previewProcessJson = () =&gt; {
638 630  
639 631 // const rootNode = parseXmlString(xml)
640 632 // console.log(rootNode, 'rootNoderootNode')
641   - // const rootNodes = new XmlNode(XmlNodeType.Root)
642   - // rootNodes.toJsObject()
643   - // console.log(JSON.stringify(rootNodes), ';;;;;;;;;;;;;;;')
  633 + const rootNodes = new XmlNode(XmlNodeType.Root, parseXmlString(xml))
  634 + // console.log(rootNodes, 'rootNodesrootNodesrootNodes')
  635 + // console.log(rootNodes.parent.toJsObject(), 'rootNodes.toJSON()')
  636 + // console.log(JSON.stringify(rootNodes.parent.toJsObject()), 'rootNodes.toJSON()')
  637 + // console.log(JSON.stringify(rootNodes.parent.toJSON()), 'rootNodes.toJSON()')
644 638  
645 639 const parser = new xml2js.XMLParser()
646 640 let jObj = parser.parse(xml)
647   - // console.log(jObj, 'jObjjObjjObjjObjjObj')
  641 + console.log(jObj, 'jObjjObjjObjjObjjObj')
648 642 // const builder = new xml2js.XMLBuilder(xml)
649 643 // const xmlContent = builder
650 644 // console.log(xmlContent, 'xmlContent')
651 645 // console.log(xml2js, 'convertconvertconvert')
652   - previewResult.value = jObj
  646 + previewResult.value = rootNodes.parent.toJSON()
  647 + // previewResult.value = jObj
653 648 // previewResult.value = convert.xml2json(xml, {explicitArray : false},{ spaces: 2 })
654 649 previewType.value = 'json'
655 650 previewModelVisible.value = true
... ...
yudao-ui-admin-vue3/src/main.ts
... ... @@ -50,7 +50,7 @@ import &#39;bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css&#39;
50 50 import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'
51 51  
52 52 import hljs from 'highlight.js' //导入代码高亮文件
53   -import 'highlight.js/styles/github-gist.css' //导入代码高亮样式
  53 +import 'highlight.js/styles/github.css' //导入代码高亮样式 新版
54 54  
55 55 // 本地开发模式 全局引入 element-plus 样式,加快第一次进入速度
56 56 if (isDevMode()) {
... ... @@ -66,7 +66,7 @@ const setupAll = async () =&gt; {
66 66 app.directive('highlight', function (el) {
67 67 const blocks = el.querySelectorAll('code')
68 68 blocks.forEach((block: any) => {
69   - hljs.highlightBlock(block)
  69 + hljs.highlightElement(block)
70 70 })
71 71 })
72 72  
... ...