当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对象会为我们提供出现错误的基本描述、类型、节点、路径和部件。
--------------注:本文部分内容改编自《.NET 安全揭秘》
作者:玄魂
出处:http://www.cnblogs.com/xuanhun/
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/web/XML/
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文档
, 对象
, error
, console
, 一个
, WriteLine
安全校验
office open xml 文档、openxml开发文档、xml格式校验、xml校验 在线、xml校验,以便于您获取更多的相关知识。