国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js格式化xml并高亮顯示關鍵字

Dogee / 2114人閱讀

摘要:構造函數對象解析文本并返回一個對象。要使用,使用不帶參數的構造函數來實例化它,然后調用其方法不支持對象。可能是或中的一個。實戰格式化高亮顯示節點層級。方便前面添加多少個空格縮進將標簽轉化成實體樣式格式格式化效果

w3school XML DOM - DOMParser 對象
DOMParser 解析 XML 標記來創建一個文檔。

構造函數

new DOMParser()

DOMParser 對象解析 XML 文本并返回一個 XML Document 對象。要使用 DOMParser,使用不帶參數的構造函數來實例化它,然后調用其 parseFromString() 方法:

var doc = (new DOMParser()).parseFromString(text)

IE 不支持 DOMParser 對象。相反,它支持使用 Document.loadXML() 的 XML 解析。

DOMParser.parseFromString()

解析 XML 標記

語法

parseFromString(text, contentType)

text 參數是要解析的 XML 標記。

contentType 是文本的內容類型。可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一個。注意,不支持 "text/html"。

實戰

js

   // 格式化xml 高亮顯示
  formatXml = function (content) {
    let xml_doc = null;
    const formatContent = content.replace(/[

]/g, "");
    try {
      xml_doc = (new DOMParser()).parseFromString(formatContent, "text/xml");
    } catch (e) {
      return false;
    }

    function build_xml(list, element, level) {
      let t = [];

      /*level 節點層級。方便前面添加多少個空格縮進*/
      for (let i = 0; i < level; i++) {
        t.push("  ");
      }

      t = t.join("");

      list.push(t + "<" + element.nodeName + ">
");
      for (let i = 0; i < element.childNodes.length; i++) {
        const childLevel = level + 1;
        let childItem = element.childNodes[i];
        let nodeName = childItem.nodeName;
        if (nodeName === "#text") {
          continue;
        }

        if (childItem.childNodes.length <= 1) {
          let value = "";
          if (childItem.childNodes.length === 1) {
            value = childItem.childNodes[0].nodeValue;
          }
          
          // 將html標簽轉化成實體
          value = value ? value.replace(/&/g, "&").replace(//g, ">") : "";

          let value_color = !isNaN(Number(value)) ? "code-number" : "code-string";

          let value_txt = "" + value + "";
          let item = t + "  <" + nodeName +
            ">" + value_txt + "" + nodeName + ">
";
          list.push(item);
        } else {
          build_xml(list, element.childNodes[i], childLevel);
        }
      }
      list.push(t + "" + element.nodeName + ">
");
    }

    let list = [];
    build_xml(list, xml_doc.documentElement, 0);
    return list.join("");
  };

CSS樣式

  .code-string{color:green;}
  .code-number{color:darkorange;}
  .code-boolean{color:#000033;}
  .code-null{color:magenta;}
  .code-key{color:#003377;font-weight:bold;}

eg.

xml 格式

"?0.0.1article2018-12-25 15:05:001?    ?      ?      63?      -66480150.1020580000000000000?    11109319?    ?      ?      63?      -66480150.1020580000000000000?    11187043?  "

格式化效果

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/100397.html

相關文章

  • js式化xml高亮顯示鍵字

    摘要:構造函數對象解析文本并返回一個對象。要使用,使用不帶參數的構造函數來實例化它,然后調用其方法不支持對象。可能是或中的一個。實戰格式化高亮顯示節點層級。方便前面添加多少個空格縮進將標簽轉化成實體樣式格式格式化效果 w3school XML DOM - DOMParser 對象 DOMParser 解析 XML 標記來創建一個文檔。 構造函數 new DOMParser() DOMPar...

    BWrong 評論0 收藏0
  • 提高 JavaScript 開發效率的高級 VSCode 擴展!

    摘要:使用高亮類似的擴展更強大的高亮擴展,具有更多功能。為了檢查和檢查響應,使用了之類的工具。在這里獲取這兩個擴展自動閉合標記和自動重命名標記。類似的擴展顯示提交歷史的精美圖表等等。 想閱讀更多優質文章請猛戳GitHub博客,一年百來篇優質文章等著你! Quokka.js Quokka.js 是一個用于 JavaScript 和 TypeScript 的實時運行代碼平臺。這意味著它會實時運行...

    zhigoo 評論0 收藏0
  • #私藏項目實操分享# 使用 JavaScript 上傳 PDF 和 Excel 等二進制文件到 AB

    摘要:這是年的第篇文章,也是汪子熙公眾號總共第篇原創文章。使用通過格式發送和文件到服務器關于格式的詳細說明,參考開發社區和的文檔我在前文例子的基礎上稍作修改在里使用兩個類型為的標簽,分別上傳和文件用來測試的本地文件,大小為字節。 這是 Jerry 2021 年的第 71 篇文章,也是汪子熙公眾號總共第 348 篇原創文章。 Jerry 之前發布過一篇文章 不使用任何框架,手寫純 Jav...

    peixn 評論0 收藏0
  • 一個前端程序猿的Sublime Text3的自我修養

    摘要:效果如下配置方法參考下的配置方法完美支持提供了比默認更好的語法高亮,而且他完美支持。語法高亮默認安裝的對的支持讓人抓狂,幀動畫別開玩笑了你只會看到一片白色的純文本一樣的代碼。事實上不光,我建議用完全替代原來的來完成語法高亮。 文章轉載自本人的博客《三省吾身丶丶》點擊查看喜歡的話請瘋狂的推薦吧! ^_^ 本文章會在本人有插件或者設置更新時,進行不定時更新 偷懶了,圖片地址直接設置的博客...

    KunMinX 評論0 收藏0

發表評論

0條評論

Dogee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<