本文整理汇总了C#中System.Xml.Schema.XmlSchema.GetFileNameWithSubDirectory方法的典型用法代码示例。如果您正苦于以下问题:C# XmlSchema.GetFileNameWithSubDirectory方法的具体用法?C# XmlSchema.GetFileNameWithSubDirectory怎么用?C# XmlSchema.GetFileNameWithSubDirectory使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Xml.Schema.XmlSchema
的用法示例。
在下文中一共展示了XmlSchema.GetFileNameWithSubDirectory方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrintSchemaDetail
private void PrintSchemaDetail(XmlSchema schema, TextWriter writer, int level = 0)
{
Func<string, string> lastpart = s => (s.Substring(s.Substring(0, s.Length - 2).LastIndexOf(':') + 1));
string tab = new string(' ', level * 2);
var newPrefixes = schema.Namespaces.ToArray().Where(v => !string.IsNullOrEmpty(v.Name)).ToDictionary(k => k.Namespace, v => v.Name);
foreach (var item in newPrefixes)
{
prefixLookup[item.Key] = item.Value;
}
string prefix = prefixLookup.ContainsKey(schema.TargetNamespace) ? prefixLookup[schema.TargetNamespace] + ":" : "";
string org = (schema.TargetNamespace.Contains("oasis") ? "oasis" : schema.TargetNamespace.Contains("unece") ? "unece" : "");
string name = Path.GetFileName(schema.GetFileNameWithSubDirectory()) + " \t" + lastpart(schema.TargetNamespace);
writer.WriteLine($"{tab}{name} ({org} {prefix})");
var imports = schema.Includes.Cast<XmlSchemaExternal>().ToList();
foreach (var import in imports)
{
string s = import.GetType().Name.Substring("XmlSchema".Length);
writer.Write($"{s}");
PrintSchemaDetail(import.Schema, writer, level + 1);
}
}