Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲精品综合久久,国产91在线观看,曰本亚洲欧洲色a在线

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript中裝載XML文檔

          E和FierFox瀏覽器對于這裝載同域的XML文件和裝載XML字符串這兩種情況,分別有各自的處理方式。IE的解析器支持XML文件和XML字符串的加載,而火狐瀏覽器使用單獨的解析器把XML載入內存,然后轉換為可通過JS訪問的XML DOM對象。

          以下是js代碼:

          /* 
           * 封裝IE和Firefox類瀏覽器中裝載同域XML或XML字符串的方法,
           * @param flag true表示裝載XML的文件,false表示裝載XML的字符串
           * @param xmldoc flag為true表示XML文件的路徑,flag為false表示XML字符串
           */
           
          function loadXML(flag,xmldoc){
           if(window.activeXObject) {
           //IE瀏覽器
           //創建空的XML對象
           var activexName = ["MSXML2.DOMDdcument","Miscrosoft.XmlDom"];
           var xmlObj;
           for(var i = 0; i < actviexName.length;i++){
           try{
           xmlObj = new ActiveXObject(activeName[i]);
           break;
           }catch(e){
           
           }
           }
           if(xmlObj){
           //同步方式裝載XML數據,確保在文檔完全加載之前解析器不會繼續腳本的執行
           xmlObj.async = false;
           if(flag){
           //load用于加載文件,loadXML用于加載字符串
           //裝載XML文件
           xmlObj.load(xmldoc);
           }else{
           //裝載XML的字符串
           xmlObj.loadXML(xmldoc);
           }
           //返回根節點
           return xmlObj;
           //返回根元素節點
           return xmlObj.documentElement;
           }else{
           alert("裝載XML文檔的對象創建失敗");
           return null;
           }
           }else if(document.implementation.creatDocument){
           //針對Firefox類瀏覽器
           var xmlObj;
           if(flag){
           //裝載XML文件
           //先創建一個空的xml dom對象
           xmlObj = document.implementation.creatDocument("","",null);
           if(xmlObj){
           //同步方式進行裝載
           xmlObj.async = false;
           xmlObj.load(xmldoc);
           return xmlObj.documentElement;
           }else{
           alert("裝載XML文檔的對象創建失敗");
           return null;
           }
           }else{
           //裝載XML的字符串
           //創建一個dom解析器
           xmlObj = new DOMParser();
           //把xml字符串解析成要返回的dom對象
           var docRoot = xmlObj.parerFromString(xmldoc,"test/xml");
           return docRoot.documentElement;
           }
           }
           alert("裝載XML文檔的對象創建失敗");
           return null;
          }
          

          html代碼

          <html>
           <head>
           <title>TODO supply a title</title>
           <meta charset="UTF-8">
           <meta name="viewport" content="width=device-width, initial-scale=1.0">
           <script type="text/javascript" src="load.js"></script>
           <script type="text/javascript">
           function test(){
           //裝載同域的XML文件
           var domxml1 = loadXML(true,"test.xml");
           //裝載XML字符串
           var domxml2 = loadXML(true,"<xml>123</xml>");
           alert("");
           }
           </script>
           </head>
           <body>
           <input type="button" value="test" onclick="test()"/>
           </body>
          </html>
          

          XML頁內容

          <?xml version="1.0" encoding="UTF-8"?>
          <root>
           木子松就是我,我就是木子松
          </root>
          

          總結

          對于裝載同域的XML文件,IE瀏覽器和火狐類瀏覽器都是先創建一個空的XML文檔對象,然后用“xmlDoc.load(“**.xml”)”告知解析器加載名為**.xml的XML文檔

          對于裝載XML字符串,IE瀏覽器和裝載XML文件的方式一樣,利用微軟內建的解析器加載XML字符串;而火狐類瀏覽器,則是通過"var parser = new DOMParser()"創建dom解析器,然后利用方法parserFromString()加載 XML字符串。另外DOMParser對象的load()方法可用于加載文件。

          跨域訪問處于安全方面的原因,現在的瀏覽器不允許跨域訪問。如果想跨域訪問,則必須把XML文件放到自己的服務器上,否則,xmlDoc.load()將產生錯誤“Access is denied”。

          入dll

          1.通過NuGet安裝dll(2種方法)

          1.1可以在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,點擊“安裝”。等待程序安裝完成。

          1.2將以下內容復制到PM控制臺安裝:

          Install-Package FreeSpire.Doc -Version 10.2

          2.手動添加dll引用

          可通過手動下載包到本地,然后解壓,找到BIN文件夾下的Spire.Doc.dll。然后在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程序。


          將HTML轉為XML

          轉換時,可參考如下代碼來進行:

          1. 創建Document類的對象。
          2. 調用Document.LoadFromFile(string fileName, FileFormat fileFormat)方法加載HTML文檔。
          3. 通過Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存為XML格式到指定路徑。

          C#

          using Spire.Doc;
          
          namespace HTMLtoXML
          {
              class Program
              {
                  static void Main(string[] args)
                  {
                      //創建Document類的對象
                      Document doc = new Document();
          
                      //加載html文件
                      doc.LoadFromFile("sample.html",FileFormat.Html);
          
                      //保存為XML格式
                      doc.SaveToFile("HTMLtoXML.xml", FileFormat.Xml);
                      System.Diagnostics.Process.Start("HTMLtoXML.xml");
                  }
              }
          }

          轉換效果:

          —End—

          文以C#及VB.NET后端程序代碼示例展示如何將HTML轉為XML文件。轉換時,調用Word API -Free Spire.Doc for .NET 提供的文檔加載方法及文檔保存的方法來實現。轉換的代碼步驟很簡單,具體可參考以下內容。


          引入dll

          1.通過NuGet安裝dll(2種方法)

          1.1可以在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,點擊“安裝”。等待程序安裝完成。

          1.2將以下內容復制到PM控制臺安裝:

          Install-Package FreeSpire.Doc -Version 10.2

          2.手動添加dll引用

          可通過手動下載包到本地,然后解壓,找到BIN文件夾下的Spire.Doc.dll。然后在Visual Studio中打開“解決方案資源管理器”,鼠標右鍵點擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程序。


          將HTML轉為XML

          轉換時,可參考如下代碼來進行:

          1. 創建Document類的對象。
          2. 調用Document.LoadFromFile(string fileName, FileFormat fileFormat)方法加載HTML文檔。
          3. 通過Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存為XML格式到指定路徑。

          C#

          using Spire.Doc;
          
          namespace HTMLtoXML
          {
              class Program
              {
                  static void Main(string[] args)
                  {
                      //創建Document類的對象
                      Document doc = new Document();
          
                      //加載html文件
                      doc.LoadFromFile("sample.html",FileFormat.Html);
          
                      //保存為XML格式
                      doc.SaveToFile("HTMLtoXML.xml", FileFormat.Xml);
                      System.Diagnostics.Process.Start("HTMLtoXML.xml");
                  }
              }
          }

          vb.net

          Imports Spire.Doc
          
          Namespace HTMLtoXML
              Class Program
                  Private Shared Sub Main(args As String())
                      '創建Document類的對象
                      Dim doc As New Document()
          
                      '加載html文件
                      doc.LoadFromFile("sample.html", FileFormat.Html)
          
                      '保存為XML格式
                      doc.SaveToFile("HTMLtoXML.xml", FileFormat.Xml)
                      System.Diagnostics.Process.Start("HTMLtoXML.xml")
                  End Sub
              End Class
          End Namespace

          轉換效果:

          —End—


          主站蜘蛛池模板: 国产一区二区三区乱码在线观看| 水蜜桃av无码一区二区| 亚洲宅男精品一区在线观看| 人妻少妇精品视频三区二区一区| 欧美亚洲精品一区二区| 国产美女口爆吞精一区二区| 久久高清一区二区三区| 精品国产亚洲一区二区在线观看 | 国产短视频精品一区二区三区| 国产成人高清亚洲一区91| 国产福利91精品一区二区三区| 日韩A无码AV一区二区三区| 91精品乱码一区二区三区| 中文字幕在线播放一区| 日韩精品一区二三区中文| 国产日韩精品一区二区在线观看播放| 日韩精品一区二区三区中文精品| 在线精品亚洲一区二区三区| 中文字幕一区二区三区有限公司| 国产三级一区二区三区| 国产精品综合一区二区三区| 天堂Av无码Av一区二区三区| 国产精品一区二区毛卡片| 精品一区二区三区无码免费直播| 精品无码国产AV一区二区三区 | 中文字幕一区二区三区永久| 精品一区中文字幕| 国产在线一区二区在线视频| 亚洲AV无码一区二区二三区软件| 久久精品黄AA片一区二区三区| 中文字幕av日韩精品一区二区| 国偷自产视频一区二区久| 中文字幕在线视频一区| 精品乱子伦一区二区三区高清免费播放| 国产一区内射最近更新| 亚洲av区一区二区三| 国产suv精品一区二区33| 国产午夜三级一区二区三| 亚洲高清偷拍一区二区三区| 动漫精品第一区二区三区| 国产一区二区三区免费在线观看 |