日期:2014-05-17  浏览次数:20762 次

关于返回数组问题
    做一个读取XML配置的方法,在取用户名(mUser = xObj.mValue)和密码(mPassWord = xObj.mValue)时,为什么返回的数组是最后一次调用的值,既mUser随着mPassWord的改变而改变,不知道这是为什么,有什么方法可以实现,请高手指教,万分感谢!

XML格式
<root>
  <IdNum>2</IdNum>
  <Account>
    <user>
<id>sunzhenggo</id>
<password>123456</password>
    </user>
    <user>
<id>mengmeng</id>
<password>654321</password>
    </user>
  </Account>
</root>

Form类代码

private const string ACC_PATH = "day\\AccName.xml";
        private const string USER_NODE = "root/Account/user";  
 private void InitData()
        {
            int Respond = 0; 
            xObj = new XmlFile();
            if ((Respond = xObj.ReadXML(ACC_PATH, USER_NODE, "id")) == 0)
            {
                mUser = xObj.mValue;
            }
            if ((Respond = xObj.ReadXML(ACC_PATH, USER_NODE, "password")) == 0)
            {
                mPassWord = xObj.mValue;
            }
        }

        

XmlFile类代码

public class XmlFile : XmlDocument
    {
        int integer;
        string[] mStr1 = new string[5];
        public string[] mValue = new string[5];

        public int ReadXML(string mPath,string mName,string mChild) 
        {
            string mStr="";
            int i = 0;
            try
            {
                this.Load(mPath);
                XmlNode node = this.SelectSingleNode(mName);
                XmlNodeList list = this.SelectNodes(mName);
                if (node != nul