我需要一个片段来检查文件的有效性(我允许用户上传xml文件)。所以我需要检查上传的文件是否是XML。 我能想到的最好的只是检查扩展名是否为“.xml”。如果它被替换了怎么办?
答案 0 :(得分:3)
您可以尝试像这样加载并捕获异常:
XDocument xdoc = XDocument.Load("data.xml"));
答案 1 :(得分:2)
据推测,如果他们正在上传XML,那么你将在之后使用它。在这种情况下,您应该根据Schema(XSD等)验证XML,以便您知道不会遇到意外的值/布局等。
答案 2 :(得分:0)
在Urlmon.dll中,有一个名为FindMimeFromData的函数。
来自文档
MIME类型检测,或“数据 嗅闻,“指的是过程 确定适当的MIME类型 来自二进制数据。最后的结果 取决于组合 服务器提供的MIME类型标头, 文件扩展名和/或数据 本身。通常,只有前256个 数据字节很重要。
因此,从文件中读取第一个(最多)256个字节并将其传递给FindMimeFromData。
答案 3 :(得分:0)
如果必须验证xml(假设您要验证整个事件),可以使用XmlDocument
类并捕获异常(如果它不是XML)。