FilezillaPermission.Read C# (CSharp) Method

Read() public method

Load the object from an XML node
public Read ( XmlNode perm ) : bool
perm XmlNode
return bool
	public bool Read(XmlNode perm)
	{
		try
		{
			// get the corresponding directory
			Dir = perm.SelectSingleNode("./@Dir").ChildNodes[0].Value;

			// get the options that are supported
			OptionFileRead = (perm.SelectSingleNode("./Option[@Name='FileRead']").ChildNodes[0].Value == "1");
			OptionFileWrite = (perm.SelectSingleNode("./Option[@Name='FileWrite']").ChildNodes[0].Value == "1");
			OptionFileDelete = (perm.SelectSingleNode("./Option[@Name='FileDelete']").ChildNodes[0].Value == "1");
			OptionFileAppend = (perm.SelectSingleNode("./Option[@Name='FileAppend']").ChildNodes[0].Value == "1");
			OptionDirCreate = (perm.SelectSingleNode("./Option[@Name='DirCreate']").ChildNodes[0].Value == "1");
			OptionDirDelete = (perm.SelectSingleNode("./Option[@Name='DirDelete']").ChildNodes[0].Value == "1");
			OptionDirList = (perm.SelectSingleNode("./Option[@Name='DirList']").ChildNodes[0].Value == "1");
			OptionDirSubdirs = (perm.SelectSingleNode("./Option[@Name='DirSubdirs']").ChildNodes[0].Value == "1");
			OptionIsHome = (perm.SelectSingleNode("./Option[@Name='IsHome']").ChildNodes[0].Value == "1");
			OptionAutoCreate = (perm.SelectSingleNode("./Option[@Name='AutoCreate']").ChildNodes[0].Value == "1");

			// read in any defined aliases
			Aliases.Clear();
			XmlNode aliasesNode = perm.SelectSingleNode("./Aliases");
			if (aliasesNode != null)
			{
				XmlNodeList aliases = aliasesNode.SelectNodes("./Alias");
				// walk the collection of accessible folders
				foreach (XmlNode alias in aliases)
				{
					Aliases.Add(alias.ChildNodes[0].Value);
				}
			}

		}
		catch (Exception)
		{
			return false;
		}

		return true;
	}

Usage Example

コード例 #1
0
	/// <summary>
	/// Load the object from an XML node
	/// </summary>
	/// <param name="node">xml root node of object</param>
	/// <returns>result of loading</returns>
	public bool Read(XmlNode user)
	{
		try
		{
			// get the username
			Username = user.SelectSingleNode("./@Name").ChildNodes[0].Value;

			// get the options that are supported
			Password = user.SelectSingleNode("./Option[@Name='Pass']").ChildNodes[0].Value;
			Enabled = (user.SelectSingleNode("./Option[@Name='Enabled']").ChildNodes[0].Value == "1");

			// get the shared folders
			XmlNodeList folders = user.SelectNodes("./Permissions/Permission");
			foreach (XmlNode folder in folders)
			{
				FilezillaPermission fzp = new FilezillaPermission();
				if ( fzp.Read(folder) )
				{
					Permissions.Add(fzp);
				}
			}
		}
		catch (Exception)
		{
			return false;
		}

		return true;
	}