DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> Open XML應用安全(4)文檔校驗
Open XML應用安全(4)文檔校驗
編輯:XML詳解     

當Office應用程序打開一個Office文檔的時候,首先會進行校驗,主要校驗的是該文檔的有效性和完整性。

當隨便將一個exe文檔的後綴改為docx時候,打開該文件肯定會報文件無效。對於一個Open XML文檔,如果想去校驗它,可以從如下幾個方面:

q  是不是ZIP壓縮包

q  必須的部件是否存在

q  關系是否完整

q  部件類型是否匹配

q  文件大小

q  宏和OLE對象

驗證的方式也很多,這裡給出最簡單的方法,使用Open XML SDk中的OpenXMLValidator對象。代碼清單14-24是如何驗證一個Word文檔有效性的方法。

代碼清單14-24  驗證文檔有效性

public static void ValidateWordDocument(string filepath)
  
{
  
    try
  
    {
  
        OpenXmlValidator validator = new OpenXMLValidator();
  
        int count = 0;
  
        foreach (ValidationErrorInfo error in
  
            validator.Validate(
  
                WordprocessingDocument.Open(filepath, true)))
  
        {
  
            count++;
  
            Console.WriteLine("Error " + count);
  
            Console.WriteLine("Description: " + error.Description);
  
            Console.WriteLine("ErrorType: " + error.ErrorType);
  
            Console.WriteLine("Node: " + error.Node);
  
            Console.WriteLine("Path: " + error.Path.XPath);
  
            Console.WriteLine("Part: " + error.Part.Uri);
  
            Console.WriteLine("-------------------------------------------");
  
        }
  
        Console.ReadKey();
  
    }
  
    catch (Exception ex)
  
    {
  
        Console.WriteLine(ex.Message);
  
    }
  
}

在代碼清單14-24中看到驗證一個文檔很簡單,只需使用OpenXMLValidator的Validate方法即可。該方法需提供一個WordprocessingDocument對象作為參數,並返回一個ValidationErrorInfo對象的集合。ValidationErrorInfo對象會為我們提供出現錯誤的基本描述、類型、節點、路徑和部件。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved