0

Web サービス用に以下のコードを最適化する方法を見つけようとしています。

私の Web サービスでは、10 個の異なる XML ファイルを受け取ります。各 xml ファイルは常に同じ形式です。現時点では、それぞれを処理する 10 個の異なるメソッドがあります。以下のコードは、メソッドの 1 つの例です。

メソッド間の唯一の違いは、ローカル変数とノード属性です。

ほぼ同じ10個のメソッドを持つ代わりに、1つだけにしたいと思います。

これを達成するための最良の方法について誰かアドバイスできますか?

public void NavigateXmlSessionData(XPathNavigator xPathNav)
{
    xPathNav.MoveToRoot();
    xPathNav.MoveToFirstChild();

    xPathNav.MoveToFirstChild();
    string  description, personId;

   // initalise vars
    description = "";
    personId = "";

    do
    {
        //display the child nodes
        if (xPathNav.MoveToFirstChild())
        {
            while (xPathNav.MoveToNext())
            {
                switch (xPathNav.Name)
                {
                    #region NodeAttributes
                    case "Description":
                        {
                            StringBuilder strBuild = new StringBuilder(xPathNav.Value, 200);
                            description = strBuild.Replace('\'', ' ').ToString();
                            break;
                        }
                    case "PersonId":
                        {
                            StringBuilder strBuild = new StringBuilder(xPathNav.Value, 200);
                            personId = strBuild.Replace('\'', ' ').ToString();
                            break;
                        }
                        #endregion
                }
            }
            //move back to the parent
            xPathNav.MoveToParent();
        }

        ProcessRecord();
        // initalise vars
        description = "";
        personId = "";

    } while (xPathNav.MoveToNext());
}
4

0 に答える 0