我正在尝试找到一种方法来优化我的网络服务的以下代码
在我的网络服务中,我收到了 10 个不同的 XML 文件,每个 xml 文件的格式始终相同,目前我有 10 种不同的方法来处理每个文件,下面的代码是其中一种方法的示例。
方法之间的唯一区别是局部变量和节点属性。
我不想拥有几乎相同的 10 种方法,我只想拥有一种。
谁能建议实现这一目标的最佳方法?
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());
}