private XElement FolderStructureToXml(PlcFolder folder)
 {
     return(new XElement(PlcOpenNamespaces.Ns + "data",
                         new XAttribute("name", "http://www.3s-software.com/plcopenxml/projectstructure"),
                         new XAttribute("handleUnknown", "discard"),
                         AddFolder(new XElement(PlcOpenNamespaces.Ns + "ProjectStructure"), folder)));
 }
        private void FolderContentToXml(PlcFolder folders)
        {
            foreach (PlcFunctionBlock functionblock in folders.PlcFunctionBlocks)
            {
                AddFunctionBlock(functionblock);
            }

            foreach (PlcFolder subfolder in folders.SubFolders)
            {
                FolderContentToXml(subfolder);
            }
        }
        private XElement AddFolder(XElement folderNode, PlcFolder folder)
        {
            folderNode.Add(new XElement(PlcOpenNamespaces.Ns + "Folder",
                                        new XAttribute("Name", folder.Name)));

            foreach (PlcFunctionBlock functionblock in folder.PlcFunctionBlocks)
            {
                folderNode.Element(PlcOpenNamespaces.Ns + "Folder").Add(functionblock.GetProjectStructureXml());
            }

            foreach (PlcFolder subfolder in folder.SubFolders)
            {
                AddFolder(folderNode.Element(PlcOpenNamespaces.Ns + "Folder"), subfolder);
            }

            return(folderNode);
        }
 public void SetProjectStructure(PlcFolder folders)
 {
     _pouFolders = folders;
 }