From fef67152b67b8262c70c38880346882233ef962c Mon Sep 17 00:00:00 2001 From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at> Date: Thu, 23 Mar 2023 11:59:27 +0100 Subject: [PATCH] added GetDocumentTypeFromFile to XMLHelper --- .../FileIO/XML/XMLInputDataFactory.cs | 2 +- VectoCore/VectoCore/Utils/XMLHelper.cs | 29 ++++++++++++------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs index 0a144792cc..38d9469ef2 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataFactory.cs @@ -131,7 +131,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML throw new VectoException("empty xml document!"); } - var documentType = XMLHelper.GetDocumentType(xmlDoc.DocumentElement.LocalName); + var documentType = XMLHelper.GetDocumentTypeFromRootElement(xmlDoc.DocumentElement.LocalName); if (documentType == null) { throw new VectoException("unknown xml file! {0}", xmlDoc.DocumentElement.LocalName); } diff --git a/VectoCore/VectoCore/Utils/XMLHelper.cs b/VectoCore/VectoCore/Utils/XMLHelper.cs index c1f32817ce..7cf8d867be 100644 --- a/VectoCore/VectoCore/Utils/XMLHelper.cs +++ b/VectoCore/VectoCore/Utils/XMLHelper.cs @@ -47,7 +47,7 @@ namespace TUGraz.VectoCore.Utils { public static class XMLHelper { - public static XmlDocumentType? GetDocumentType(string rootElement) + public static XmlDocumentType? GetDocumentTypeFromRootElement(string rootElement) { switch (rootElement) { case "VectoInputDeclaration": return XmlDocumentType.DeclarationJobData; @@ -60,17 +60,26 @@ namespace TUGraz.VectoCore.Utils return null; } - //internal static string GetSchemaVersion(XmlSchemaType type) - //{ - // return GetVersionFromNamespaceUri(type.QualifiedName.Namespace); - //} + public static XmlDocumentType? GetDocumentTypeFromFile(string filePath) + { + var xElement = new System.Xml.XmlDocument(); + xElement.Load(filePath); + return XMLHelper.GetDocumentTypeFromRootElement(xElement?.DocumentElement?.LocalName); + + } + + + //internal static string GetSchemaVersion(XmlSchemaType type) + //{ + // return GetVersionFromNamespaceUri(type.QualifiedName.Namespace); + //} - //public static string GetSchemaVersion(XmlElement node) - //{ - // return GetVersionFromNamespaceUri(node.NamespaceURI); - //} + //public static string GetSchemaVersion(XmlElement node) + //{ + // return GetVersionFromNamespaceUri(node.NamespaceURI); + //} - public static string GetVersionFromNamespaceUri(XNamespace namespaceUri) + public static string GetVersionFromNamespaceUri(this XNamespace namespaceUri) { const string versionPrefix = "v"; return namespaceUri.NamespaceName.Split(':').Last(x => x.StartsWith(versionPrefix)) -- GitLab