如何优化schemaDocument.Namespaces代码以提高性能?

时间:2010-08-10 10:55:53

标签: c# xml namespaces

我有几千次调用的代码,我需要针对性能进行优化。 我考虑过缓存xmlQualifiedNames,但这还不够好。 任何想法?

    private static string GetPrefixForNamespace(string ns,  XmlSchema schemaDocument)
    {
        string prefix = null;
         XmlQualifiedName[] xmlQualifiedNames = schemaDocument.Namespaces.ToArray();
        foreach (XmlQualifiedName qn in xmlQualifiedNames)
        {
            if (ns == qn.Namespace)
            {
                prefix = qn.Name;
                break;
            }
        }

        return prefix;
    }

2 个答案:

答案 0 :(得分:0)

将其填入DictionaryHashtable甚至是某种缓存机制。

答案 1 :(得分:0)

因为你在Namespace内寻找字符串(xmlQualifiedNames),如何缓存这些字符串?

或使用LINQ搜索它们?

或者 - 取决于您获得的输入类型 - 使用记忆加速您的通话(实际上只是花哨的缓存)like in this article.